on master help sign in
Add source-backed list length and todo regression
cc8e389iko
docs/compiler.md+1−1
@@ -120,7 +120,7 @@ Each case's canonical API identity and source-derived schema travel across impor
120
120
121`+golden-types-with-prelude` accepts case-local Jibb module sources alongside `/sur` and mark results and the vendored prelude source. It resolves reachable ordinary library modules in dependency order, caching completed interfaces per invocation and exporting supported closed value schemes, direct generic unions, and simple or nonrecursive generic mold aliases whose bodies the fragment supports. It detects missing sources and cycles and rejects a dependency if its interface cannot be inferred by the fragment. Qualified wings can also read nested fields of an imported value, instantiating that value’s scheme independently at each use; missing, ambiguous and non-record fields remain unsupported.
121`+golden-types-with-prelude` accepts case-local Jibb module sources alongside `/sur` and mark results and the vendored prelude source. It resolves reachable ordinary library modules in dependency order, caching completed interfaces per invocation and exporting supported closed value schemes, direct generic unions, and simple or nonrecursive generic mold aliases whose bodies the fragment supports. It detects missing sources and cycles and rejects a dependency if its interface cannot be inferred by the fragment. Qualified wings can also read nested fields of an imported value, instantiating that value’s scheme independently at each use; missing, ambiguous and non-record fields remain unsupported.
122
122
123−The supplied prelude is parsed into a **partial interface**: all names actually declared in the source are reserved, while only the molds and values this fragment can infer are available. These include the validated standard `list` mold, `unit`, the doc-exact generic `cmd` union, `same`, `fall`, `need`, `bond`, `lure`, `weld`, `snoc`, `turn`, `flop`, `rear`, `drop`, `skim`, `skip`, `murn`, `join`, `snip`, `levy`, `lien`, `cork`, `corl`, `cury` and `curr`; unsupported entries remain unavailable. The validated `list` is injected while the prelude’s gates are inferred; `weld` and `turn` use ordinary explicit result casts. An absent or altered `list` is not injected, and an altered declaration cannot leak through a direct or transitive mold alias. The same validated template is available when prelude mold aliases are prepared, so supported direct and transitive aliases can use it. A named prelude union keeps the fixed `/lib/jibb/prelude/jibb` origin in every module, and its name remains unqualified when a library exports a type containing it. The prelude inventory is incomplete, so reserving the names in this source does not establish complete shadowing coverage. The source-backed internal prelude defines `poke`, which the public prelude re-exports as an ordinary transparent type. A dedicated trusted internal-prelude preparation path also supplies private comparison and arithmetic schemes for the Jibb-written `gth`, `add` and `dec` wrappers. Ordinary module resolution rejects that primitive path even if a caller supplies a spoofed root or bundle. The low-level prepared interface is still trusted host input; the host must select the vendored sources and canonicalize paths. Primitive execution and shape-based jet recognition are not implemented. The source-backed `add` and `dec` wrappers use private arithmetic interfaces whose shared atom variable excludes loobeans; the partial checker preserves that constraint through supported inference and prints `where A is an atom other than ?`. Length and primitive execution remain unavailable. The partial checker resolves its supported source shape, preserves its public name, and rejects ordinary imports of the private internal path. An imported API with one mark and a matching direct `+$ poke` declaration can export a derived constructor and retain agent/mark metadata when the source representation has the supported agent case. Other API shapes, complete private module checking, root API and kind checking, stores, complete `ask` and `pure` checking, lowering and runtime effects remain unfinished. A possible store or root API declaring `+$ poke` reports that kind or scope needs unsupported inference; definite duplicate declarations and unrelated shadowing still report conflicts. Prepared interfaces and caches are trusted caller inputs; the future host and linker must ensure the private source validated during preparation is the same version used to lower derived constructors. A `*` payload may contain gates, so the fragment treats it conservatively; full gate-free checks are unfinished. The shared module-scope fixture compares the prepared and source-taking paths against the real prelude and a two-module golden under eval and on the ship.
123+The supplied prelude is parsed into a **partial interface**: all names actually declared in the source are reserved, while only the molds and values this fragment can infer are available. These include the validated standard `list` mold, `unit`, the doc-exact generic `cmd` union, `same`, `fall`, `need`, `bond`, `lure`, `weld`, `snoc`, `turn`, `lent`, `flop`, `rear`, `drop`, `skim`, `skip`, `murn`, `join`, `snip`, `levy`, `lien`, `cork`, `corl`, `cury` and `curr`; unsupported entries remain unavailable. The validated `list` is injected while the prelude’s gates are inferred; `weld` and `turn` use ordinary explicit result casts. An absent or altered `list` is not injected, and an altered declaration cannot leak through a direct or transitive mold alias. The same validated template is available when prelude mold aliases are prepared, so supported direct and transitive aliases can use it. A named prelude union keeps the fixed `/lib/jibb/prelude/jibb` origin in every module, and its name remains unqualified when a library exports a type containing it. The prelude inventory is incomplete, so reserving the names in this source does not establish complete shadowing coverage. The source-backed internal prelude defines `poke`, which the public prelude re-exports as an ordinary transparent type. A dedicated trusted internal-prelude preparation path also supplies private comparison and arithmetic schemes for the Jibb-written `gth`, `add` and `dec` wrappers. Ordinary module resolution rejects that primitive path even if a caller supplies a spoofed root or bundle. The low-level prepared interface is still trusted host input; the host must select the vendored sources and canonicalize paths. Primitive execution and shape-based jet recognition are not implemented. The source-backed `add` and `dec` wrappers use private arithmetic interfaces whose shared atom variable excludes loobeans; the partial checker preserves that constraint through supported inference and prints `where A is an atom other than ?`. The partial checker resolves the supported `poke` source shape, preserves its public name, and rejects ordinary imports of the private internal path. The Jibb-written `lent` recursively counts a list using `add`; the partial checker infers its generic list argument and `@ud` result. Its execution and jet recognition remain unverified until the backend exists. An imported API with one mark and a matching direct `+$ poke` declaration can export a derived constructor and retain agent/mark metadata when the source representation has the supported agent case. Other API shapes, complete private module checking, root API and kind checking, stores, complete `ask` and `pure` checking, lowering and runtime effects remain unfinished. A possible store or root API declaring `+$ poke` reports that kind or scope needs unsupported inference; definite duplicate declarations and unrelated shadowing still report conflicts. Prepared interfaces and caches are trusted caller inputs; the future host and linker must ensure the private source validated during preparation is the same version used to lower derived constructors. A `*` payload may contain gates, so the fragment treats it conservatively; full gate-free checks are unfinished. The shared module-scope fixture compares the prepared and source-taking paths against the real prelude and a two-module golden under eval and on the ship.
124
124
125`+prepare-prelude` derives the interface and declared-name inventory from the trusted vendored source. Hosts can reuse its result with `+golden-types-with-prepared-prelude`; they must pass the unchanged result of preparation, not an independently constructed value. Empty, malformed and duplicate-name prelude sources fail closed. The source-taking `+prepare-prelude` and `+golden-types-with-prelude` do not supply the internal module; their `-and-internal` or `-with-internal` variants accept its source for the supported private import. API files, modules with `main`, unsupported definitions and many other features remain outside this subset. The older `+golden-types-with-modules` entry point fails closed for imports because it has no prelude scope. None of these partial reports claims the module has been checked.
125`+prepare-prelude` derives the interface and declared-name inventory from the trusted vendored source. Hosts can reuse its result with `+golden-types-with-prepared-prelude`; they must pass the unchanged result of preparation, not an independently constructed value. Empty, malformed and duplicate-name prelude sources fail closed. The source-taking `+prepare-prelude` and `+golden-types-with-prelude` do not supply the internal module; their `-and-internal` or `-with-internal` variants accept its source for the supported private import. API files, modules with `main`, unsupported definitions and many other features remain outside this subset. The older `+golden-types-with-modules` entry point fails closed for imports because it has no prelude scope. None of these partial reports claims the module has been checked.
126
126
docs/development.md+2
@@ -73,6 +73,7 @@ git clone https://github.com/urbit/tools /root/src/tools
73| `tools/type-generic-alias-test` | Runs public/private generic union alias and provenance guards under eval and on the ship |
73| `tools/type-generic-alias-test` | Runs public/private generic union alias and provenance guards under eval and on the ship |
74| `tools/type-positional-face-guards-test` | Runs positional-call and nested-face guards under eval and on the ship |
74| `tools/type-positional-face-guards-test` | Runs positional-call and nested-face guards under eval and on the ship |
75| `tools/type-qath-guards-test` | Runs source-provenance, recursive unfolding and face guards under eval and on the ship |
75| `tools/type-qath-guards-test` | Runs source-provenance, recursive unfolding and face guards under eval and on the ship |
76+| `tools/type-todo-partial-test` | Reports partial inference of the unchanged todo island through the real API and readers under eval and on the ship |
76| `tools/type-todo-api-test` | Exercises the actual todo API through the real Hoon readers and partial checker |
77| `tools/type-todo-api-test` | Exercises the actual todo API through the real Hoon readers and partial checker |
77| `tools/type-direct-gate-test` | Checks a synthetic source-backed program report and direct gate provenance under eval and on the ship |
78| `tools/type-direct-gate-test` | Checks a synthetic source-backed program report and direct gate provenance under eval and on the ship |
78| `tools/type-closed-gate-guards-test` | Checks closed gate sample labels and face uncertainty under eval and on the ship |
79| `tools/type-closed-gate-guards-test` | Checks closed gate sample labels and face uncertainty under eval and on the ship |
@@ -114,6 +115,7 @@ tools/type-list-alias-test # prelude list-alias guards pass
114tools/type-generic-alias-test # generic union alias guards pass
115tools/type-generic-alias-test # generic union alias guards pass
115tools/type-positional-face-guards-test # positional sample face guards pass
116tools/type-positional-face-guards-test # positional sample face guards pass
116tools/type-qath-guards-test # qath source and unfolding guards pass
117tools/type-qath-guards-test # qath source and unfolding guards pass
118+tools/type-todo-partial-test # unchanged todo partial report and reader failure controls
117tools/type-todo-api-test # real todo API partial inference and reader guards pass
119tools/type-todo-api-test # real todo API partial inference and reader guards pass
118tools/type-direct-gate-test # direct gate source and provenance guards pass
120tools/type-direct-gate-test # direct gate source and provenance guards pass
119tools/type-closed-gate-guards-test # closed gate fit guards pass
121tools/type-closed-gate-guards-test # closed gate fit guards pass
docs/prelude-inventory.md+2−2
@@ -6,7 +6,7 @@ The source is the fake ship's `%base` `/sys/hoon.hoon` (Hoon version 135), read
6
6
7The vendored prelude defines `poke` in its private internal module and re-exports it as a transparent type. The partial checker resolves its supported source shape and a narrow imported API constructor; complete checking of the private body, other API shapes, effect lowering and runtime execution remain unfinished. `qath` is defined there as a transparent recursive knot sequence and re-exported by the public prelude; the partial checker supports its named identity, selected construction and matching, and static application-path literals. The internal prelude also defines a transparent generic `ask` with pure, agent and store cases; the public prelude re-exports it and defines `pure`. Supported source construction and matching infer, while derived requests, source-schema validation and execution remain unfinished.
7The vendored prelude defines `poke` in its private internal module and re-exports it as a transparent type. The partial checker resolves its supported source shape and a narrow imported API constructor; complete checking of the private body, other API shapes, effect lowering and runtime execution remain unfinished. `qath` is defined there as a transparent recursive knot sequence and re-exported by the public prelude; the partial checker supports its named identity, selected construction and matching, and static application-path literals. The internal prelude also defines a transparent generic `ask` with pure, agent and store cases; the public prelude re-exports it and defines `pure`. Supported source construction and matching infer, while derived requests, source-schema validation and execution remain unfinished.
8
8
9−The prelude also declares the generic `cmd` mold exactly as in Overview, Effects. The partial checker infers its five cases and independent message types in the supported examples; complete module checking and backend validation remain outstanding. The related `sub` declaration awaits checking and the remaining request support.
9+The prelude also declares the generic `cmd` mold exactly as in Overview, Effects. The partial checker infers its five cases and independent message types in the supported examples; complete module checking and backend validation remain outstanding. The public prelude also declares `sub`; the partial checker infers supported constructions, while request watchability and execution remain outstanding.
10
10
11Hoon `+$` arms are marked **mold** below; `++` arms can be gates, doors or mold generators, and need individual inspection. Jibb's loobean `not` and Hoon's bitwise `not.bit` are distinct. Parser helpers outside 3g are excluded from the intended prelude except the specifically listed `slav` and `slaw`; the raw candidates below still need to be classified.
11Hoon `+$` arms are marked **mold** below; `++` arms can be gates, doors or mold generators, and need individual inspection. Jibb's loobean `not` and Hoon's bitwise `not.bit` are distinct. Parser helpers outside 3g are excluded from the intended prelude except the specifically listed `slav` and `slaw`; the raw candidates below still need to be classified.
12
12
@@ -49,7 +49,7 @@ The following is an audit of the Hoon 135 bodies, not a completed Jibb interface
49
49
50`snoc`, `lure`, `fand`, `find`, `flop`, `gulf`, `homo`, `join`, `bake`, `lent`, `levy`, `lien`, `limo`, `murn`, `oust`, `reap`, `rear`, `reel`, `roll`, `scag`, `skid`, `skim`, `skip`, `slag`, `snag`, `snip`, `sort`, `spin`, `spun`, `swag`, `turn`, `weld`, `snap`, `into`, `welp`, `zing`.
50`snoc`, `lure`, `fand`, `find`, `flop`, `gulf`, `homo`, `join`, `bake`, `lent`, `levy`, `lien`, `limo`, `murn`, `oust`, `reap`, `rear`, `reel`, `roll`, `scag`, `skid`, `skim`, `skip`, `slag`, `snag`, `snip`, `sort`, `spin`, `spun`, `swag`, `turn`, `weld`, `snap`, `into`, `welp`, `zing`.
51
51
52−The current prelude writes `snoc`, `lure`, `flop`, `join`, `levy`, `lien`, `murn`, `rear`, `reel`, `roll`, `skim`, `skip`, `snip`, `turn` and `weld`. `murn` keeps the present products of its gate in order; `join` inserts a separator between items; `snip` drops the last item, and `rear` returns it or crashes on an empty list. The folds take an explicit initial value as the Prelude table specifies. The partial checker infers `snoc`, `lure`, `weld`, `turn`, `flop`, `rear`, `skim`, `skip`, `murn`, `join`, `snip`, `levy` and `lien` using the validated prelude `list` mold; other list helpers remain limited by that fragment. The result casts on `drop`, `skim`, `skip`, `murn`, `join`, `snip`, `levy` and `lien` state their existing result types without changing their bodies. Backend validation remains outstanding for all of them.
52+The current prelude writes `snoc`, `lure`, `flop`, `join`, `lent`, `levy`, `lien`, `murn`, `rear`, `reel`, `roll`, `skim`, `skip`, `snip`, `turn` and `weld`. `lent` counts items by recursion and `add`; `murn` keeps the present products of its gate in order; `join` inserts a separator between items; `snip` drops the last item, and `rear` returns it or crashes on an empty list. The folds take an explicit initial value as the Prelude table specifies. The partial checker infers `snoc`, `lure`, `weld`, `turn`, `flop`, `rear`, `skim`, `skip`, `murn`, `join`, `snip`, `lent`, `levy` and `lien` using the validated prelude `list` mold; other list helpers remain limited by that fragment. The result casts on `drop`, `skim`, `skip`, `murn`, `join`, `snip`, `levy` and `lien` state their existing result types without changing their bodies. Backend validation remains outstanding for all of them.
53
53
54## 2c
54## 2c
55
55
docs/status.md+7−4
@@ -45,7 +45,9 @@ The Hoon reader's tagged-union source proof also handles `$~` default wrappers.
45
45
46The repository spec records the subsequent type-system and prelude decisions, including the chosen `like` result-mapping gate; those changes also need synchronization to the Claude document. An initial inference fragment and a standalone Hoon type reader are being tested. The fragment explicitly reports that it does not check a module; partial bridges pass Hoon `*` in supported nonrecursive molds, selected Hoon atoms, term singletons, the null singleton, the two loobean singletons and their exact fork, nested faced or unfaced cells, supported disjoint unions and opaque standard collections from `/sur` molds and marks into inference. Collections retain their names and supported arguments for printing and unification; nested supported union arguments are retained too. The bridge trusts unchanged results from the source-aware reader; a materialized type graph alone cannot reveal cases Hoon already collapsed. The source-validated standard prelude `list` mold shares this representation with imported lists; other Jibb-written collection molds and most prelude collection operations remain unsupported; malformed names and arities fail closed. Selected self-recursive `/sur` molds, including Tlon `notes.import-node` with list-wrapped self references, cross as opaque module-and-name identities; aliases, foreign references, recursive marks, unfolding and construction remain unsupported. The reader handles mark samples, including a source-proved nonrecursive union from a single Ford-imported `/sur` core, recursive molds whose origins can be verified through Ford imports, nested collections, direct ordered maps, including source-validated named operands such as Tlon `notes.log`, certain ordered-map fields, direct `$^` unions whose cases can be proved disjoint, and one verified explicit union argument in a list, set, map or unit. Tagged `$%` cases can additionally use restricted local named payload molds, bare `~` fields and one level of local named tagged unions, as in real Tlon `notes`, with bounded source proof; unsupported or ambiguous dependencies fail closed. Ambiguous recursive origins fail closed; recognizable explicit unions are checked from source before Hoon can collapse their cases, as @iko confirmed for imported `$%`, `$?` and `$^`, while other nested unions, nested ordered maps, general union disjointness and complete import integration remain unfinished. Opt-in structured reader APIs preserve successful graphs and distinguish definite unsupported-aura and core evidence from failures the reader cannot prove; unverified union disjointness and name-only vase recognition remain unsupported. They revalidate and re-walk failed types. An opt-in partial checker entry point consumes unchanged reader results and reports definite aura or core errors at imported mold use sites when their inputs are unique. Ordered replay covers nested cell samples, record and function casts, and non-generic same-module aliases; unsupported prefixes, cycles and shadowing stop it. Union molds, generic applications, transitive modules and unsupported reader outcomes remain generic. Replay repeats inference and may add work. The partial checker resolves a subset of ordinary library imports in dependency order using supplied Jibb sources and a source-derived partial prelude interface, caches completed interfaces per run, detects missing sources and cycles, and resolves nested fields of imported values with independent scheme instantiation. The source-backed internal prelude defines `poke` and the public prelude re-exports it as a transparent type. A dedicated trusted preparation path supplies private comparison and arithmetic schemes to the Jibb-written `gth`, `add` and `dec` wrappers; ordinary imports cannot access them. The public `add` and `dec` wrappers use private arithmetic interfaces; supported inference preserves the shared atom constraint that excludes loobeans. Primitive execution, jet recognition and length remain unfinished. The partial checker resolves its supported source shape and rejects ordinary imports of the private path. An imported API with one mark and a matching direct `+$ poke` declaration can export a constructor and retain agent/mark metadata when the representation has the supported agent case. A separate partial analysis resolves supported API path declarations and their full and diff mark types, including the todo paths; it does not by itself create requests or check an API module. Ordinary imports additionally infer the supported multi-path request-gate types described above. Complete private module checking, other API shapes, request lowering, root API and kind checking, stores, complete `ask` and `pure` checking and runtime effects remain unfinished. A possible store or root API with `+$ poke` reports unsupported kind or scope, while definite duplicates and unrelated shadowing still report conflicts. The prelude includes the doc-exact generic `cmd` union; the prelude inventory is incomplete. The inference fragment supports unrestricted `@`, selected one-way widenings including aura-family ancestors, generalized atom constraints arising from explicit capitals or bare sample binders, acyclic local value definitions with captures, selected single self-recursive top-level and local gates, simple and nonrecursive generic mold aliases, selected faced record casts and field reads, and contextual tags, `~` and constructors for closed disjoint unions, including direct nonrecursive generic unions and propagation through complete loobean and unit-shaped branches in casts and known union-sample calls, including nested branches. Known loobean result context also propagates through supported complete branches and binder-only cell arms; binder-only arms over union subjects remain unsupported. A directly known named union can instantiate an unconstrained generic gate sample with its origin, generic arguments and faces preserved; unnamed, pending, recursive and variable-bound cases remain unsupported. A known gate with an unresolved result variable can receive a known enclosing result type before its arguments are inferred; unknown calls and unresolved targets remain conservative. Multi-argument calls form a right-nested sample, retain known faces and shared type variables, and can use known sample positions to contextualize list and union arguments. A definite mismatch points to the failing argument when the fragment can establish it, otherwise to the combined sample; unsupported contextual forms still fail closed. For a supported recursive gate, the checker infers the sample first and uses its exact type, including field faces, for one monomorphic self reference. It generalizes after the body is checked; subsequent uses instantiate it independently. Incompatible recursive arguments can report the gate and argument sites. For a complete loobean branch with one direct self-call arm, a separately inferred closed base type can seed the recursive result before the whole body is checked. Open or pending base types do not seed it; other branch shapes remain subject to the fragment’s existing limits. A supported single local recursive gate also uses a monomorphic self reference and generalizes variables free of the enclosing environment after checking its body; captured variables remain shared. The checker collects written capitals per `++` before inference, excluding nested definitions: a capital used in an enclosing definition is shared with its locals even when written later, while a capital introduced only in a local definition is generalized there. Sibling locals can introduce independent capitals with the same spelling; generic mold parameters keep their own scope. Top-level groups of syntactic gates are inferred together with monomorphic placeholders and shared substitutions, then generalized only after the whole group checks; downstream uses and library interfaces instantiate those schemes independently. A dependency graph identifies groups with two iterative depth-first passes; its conservative local-reference edges can reject otherwise valid programs. Supported local mutually recursive gate groups also use shared monomorphic placeholders and generalize only after the group checks, preserving captured outer variables. A bounded dependency proof reports certain non-gate cycles through values and gates when an explicit atom or loobean result cast and simple unshadowed expressions establish the cycle. Other mixed gate/value cycles, polymorphic recursion, unresolved literal constraints and unresolved branch joins remain unsupported. Reporting repeats inference for a single recursive gate outside a group; grouped reports use the stored schemes. Its performance cost remains unmeasured. A single-arm cell pattern accepts two or more binders, the last capturing the remaining tail; duplicate and shadowed binders are rejected. A structured single-arm pattern also works for a known non-union cell when coverage is proven, including nested literal and wildcard positions. Intermediate union or collection tails, nested patterns, wildcards and faced records remain unsupported. String interpolation accepts known atom auras, unrestricted `@`, tapes and isolated decimal literals; a known cell asks for a printer, and an explicitly generic atom asks for an aura. Loobeans, term singletons, non-tape collections, open types and a type fixed only later remain unsupported. A known closed union with two or more arms supports patterns that provably cover or exclude each remaining case, including payload binders, imported and generic cases, and binder-free catch-alls. Partial boolean patterns can split known `?` positions into their two noun values, up to 64 alternatives across the union; binders retain their original case type. Missing alternatives and covered arms are reported. Other partial patterns, expansions above the limit, binders spanning distinct cases, differing arm result types and some complex two-arm subjects remain unsupported. A cast or known call sample can supply result context through whole-case arms and supported finite loobean refinements for a known union accessed by a wing, a grouped wing or a supported shallow call, including nested cell and list positions; other partial-pattern contexts and subject forms remain unsupported. The Grammar’s `step` block infers in this fragment, but its module is not yet checked. A bare tag proved absent from a known union reports the union and tag sites in casts, single-argument calls, unit payloads, list items and supported branch arms; imported unnamed unions print their cases. Ordered fit replay can identify a missing tag nested in a syntactic tuple, stopping at an earlier mismatch or uncertainty. Known faced records support uniquely named field changes, including nested wings, with field context passed to replacements and the original record type retained. Missing fields, empty changes and definite mismatches report sites; the expected-type site is the edit because the original field declaration location is not retained. Unknown or partly unfaced spines, ambiguous fields and repeated edits remain unsupported. A known record cast supplies field context to its tuple or record initializer, including nested list and union fields; mismatch diagnostics use the cast mold because the original field declaration location is not retained. Isolated cart-style `init` and `update` expressions infer, while the complete cart-store fails closed because its kind and declaration scope remain unchecked. Uncontextualized list literals infer a fresh element type, including empty and nested lists, with independently generalized uses. Unresolved item tags and uncertain widening remain unsupported. Backtick unit construction uses the validated standard prelude unit template, infers its payload without losing pending constraints, and makes the prelude’s `some` available. Ordinary result annotations also let its `bind`, `biff`, `both`, `clap`, `clef` and `flit` infer. A known unit in a cast, call, list item or record field supplies context to its payload, including nested units and lists; mismatches identify the payload and context. Unrelated union identities, some variable-dependent fits, and missing or altered prelude unit templates remain unsupported. Literal singleton heads compare by runtime noun, so `|=%$` also matches explicit null- and loobean-zero-headed cases. When equal heads have disjoint payloads, the constructor selects a uniquely proven compatible payload; unknown and ambiguous candidates remain unsupported. Unresolved nulls remain pending and are reported separately from tags. A known union of `~` and a null-headed cell supports a complete `~` / `[~ value]` branch in either order, including shadow checks; unknown subjects, missing or duplicate arms, and unresolved branch results remain unsupported. This fragment infers the prelude’s `fall` and `need` signatures. With the validated prelude list and a known cast or gate sample, empty, nonempty and nested list literals infer their element types, including contextual union tags; a mismatched element names both sites. In that context `~` and zero-valued terms fit an empty list, and two-item unfaced cells form cons lists, including nested cons and imported-list contexts; invalid heads or tails name both sites. A known gate sample also supplies context to matching positions in a single tuple or record argument, including nested cells; zero literals can fit list positions. A bound zero constant remains unsupported rather than a definite mismatch, and an unknown callee does not supply context. Faced or longer cells and a missing or altered prelude list fail closed. A known list result also supplies context through complete loobean, unit-shaped and list-shaped branches, including recursive and nested branches. For a known standard list with a supported element type, a complete `~` / `[item rest]` branch infers the element and tail types in either arm order and checks binders for shadowing. Unknown subjects, unsupported element types and other or incomplete list patterns remain unsupported. A value with type variable `A` can fit a field whose type is that same `A`, including in generic union payloads and nested or repeated record fields. Other variable-dependent face merges remain unsupported. Forced equality of distinct written capitals now reports both source sites, following @iko’s decision; forcing one to a concrete type remains unsupported. Imported record spines with repeated faces fail closed where used, but only with a generic unsupported diagnostic. Hoon may erase unfaced nested-cell boundaries, so the check can conservatively reject valid names in distinct erased scopes. Supported closed unions print using an in-scope name or imported alias; an unnamed nongeneric union prints its cases, parenthesized when nested. The latter is print-only. Generic union types retain all arguments in their printed name; if that name is unavailable, the partial printer reports the limitation. Different import faces for the same origin remain compatible; compatibility across distinct union origins and some generic-argument comparisons remain unsupported. Nonrecursive generic aliases can reorder, repeat or omit parameters while retaining a union’s origin, including through local scopes and library interfaces. A generic union declared directly inside a body remains unsupported, as do differing-variable face constraints in a union payload. A transitive generic union whose name is unavailable is reported as unsupported instead of hiding its arguments. Unfixed decimal literals default to `@ud` in gate-free inferred types; recursive molds, general branch tag context, other constraint cases and defaulting inside gate types still need work. Collection recognition checks the originating core and fails closed on shadows or unsupported Ford subject shapes; a wrapper regression also rejects forged subjects, samples and tails. Its golden fixtures include three real Tlon files. A Clay test passes a Ford-built nested union through the reader into partial inference. The partial prelude includes `murn`, `join`, `snip`, `rear` and the agreed shared-type `clap`; supported calls infer, while backend validation remains outstanding, and [prelude-inventory.md](prelude-inventory.md) is a source audit, not the complete inventory or signatures. The milestone remains unfinished.
46The repository spec records the subsequent type-system and prelude decisions, including the chosen `like` result-mapping gate; those changes also need synchronization to the Claude document. An initial inference fragment and a standalone Hoon type reader are being tested. The fragment explicitly reports that it does not check a module; partial bridges pass Hoon `*` in supported nonrecursive molds, selected Hoon atoms, term singletons, the null singleton, the two loobean singletons and their exact fork, nested faced or unfaced cells, supported disjoint unions and opaque standard collections from `/sur` molds and marks into inference. Collections retain their names and supported arguments for printing and unification; nested supported union arguments are retained too. The bridge trusts unchanged results from the source-aware reader; a materialized type graph alone cannot reveal cases Hoon already collapsed. The source-validated standard prelude `list` mold shares this representation with imported lists; other Jibb-written collection molds and most prelude collection operations remain unsupported; malformed names and arities fail closed. Selected self-recursive `/sur` molds, including Tlon `notes.import-node` with list-wrapped self references, cross as opaque module-and-name identities; aliases, foreign references, recursive marks, unfolding and construction remain unsupported. The reader handles mark samples, including a source-proved nonrecursive union from a single Ford-imported `/sur` core, recursive molds whose origins can be verified through Ford imports, nested collections, direct ordered maps, including source-validated named operands such as Tlon `notes.log`, certain ordered-map fields, direct `$^` unions whose cases can be proved disjoint, and one verified explicit union argument in a list, set, map or unit. Tagged `$%` cases can additionally use restricted local named payload molds, bare `~` fields and one level of local named tagged unions, as in real Tlon `notes`, with bounded source proof; unsupported or ambiguous dependencies fail closed. Ambiguous recursive origins fail closed; recognizable explicit unions are checked from source before Hoon can collapse their cases, as @iko confirmed for imported `$%`, `$?` and `$^`, while other nested unions, nested ordered maps, general union disjointness and complete import integration remain unfinished. Opt-in structured reader APIs preserve successful graphs and distinguish definite unsupported-aura and core evidence from failures the reader cannot prove; unverified union disjointness and name-only vase recognition remain unsupported. They revalidate and re-walk failed types. An opt-in partial checker entry point consumes unchanged reader results and reports definite aura or core errors at imported mold use sites when their inputs are unique. Ordered replay covers nested cell samples, record and function casts, and non-generic same-module aliases; unsupported prefixes, cycles and shadowing stop it. Union molds, generic applications, transitive modules and unsupported reader outcomes remain generic. Replay repeats inference and may add work. The partial checker resolves a subset of ordinary library imports in dependency order using supplied Jibb sources and a source-derived partial prelude interface, caches completed interfaces per run, detects missing sources and cycles, and resolves nested fields of imported values with independent scheme instantiation. The source-backed internal prelude defines `poke` and the public prelude re-exports it as a transparent type. A dedicated trusted preparation path supplies private comparison and arithmetic schemes to the Jibb-written `gth`, `add` and `dec` wrappers; ordinary imports cannot access them. The public `add` and `dec` wrappers use private arithmetic interfaces; supported inference preserves the shared atom constraint that excludes loobeans. Primitive execution, jet recognition and length remain unfinished. The partial checker resolves its supported source shape and rejects ordinary imports of the private path. An imported API with one mark and a matching direct `+$ poke` declaration can export a constructor and retain agent/mark metadata when the representation has the supported agent case. A separate partial analysis resolves supported API path declarations and their full and diff mark types, including the todo paths; it does not by itself create requests or check an API module. Ordinary imports additionally infer the supported multi-path request-gate types described above. Complete private module checking, other API shapes, request lowering, root API and kind checking, stores, complete `ask` and `pure` checking and runtime effects remain unfinished. A possible store or root API with `+$ poke` reports unsupported kind or scope, while definite duplicates and unrelated shadowing still report conflicts. The prelude includes the doc-exact generic `cmd` union; the prelude inventory is incomplete. The inference fragment supports unrestricted `@`, selected one-way widenings including aura-family ancestors, generalized atom constraints arising from explicit capitals or bare sample binders, acyclic local value definitions with captures, selected single self-recursive top-level and local gates, simple and nonrecursive generic mold aliases, selected faced record casts and field reads, and contextual tags, `~` and constructors for closed disjoint unions, including direct nonrecursive generic unions and propagation through complete loobean and unit-shaped branches in casts and known union-sample calls, including nested branches. Known loobean result context also propagates through supported complete branches and binder-only cell arms; binder-only arms over union subjects remain unsupported. A directly known named union can instantiate an unconstrained generic gate sample with its origin, generic arguments and faces preserved; unnamed, pending, recursive and variable-bound cases remain unsupported. A known gate with an unresolved result variable can receive a known enclosing result type before its arguments are inferred; unknown calls and unresolved targets remain conservative. Multi-argument calls form a right-nested sample, retain known faces and shared type variables, and can use known sample positions to contextualize list and union arguments. A definite mismatch points to the failing argument when the fragment can establish it, otherwise to the combined sample; unsupported contextual forms still fail closed. For a supported recursive gate, the checker infers the sample first and uses its exact type, including field faces, for one monomorphic self reference. It generalizes after the body is checked; subsequent uses instantiate it independently. Incompatible recursive arguments can report the gate and argument sites. For a complete loobean branch with one direct self-call arm, a separately inferred closed base type can seed the recursive result before the whole body is checked. Open or pending base types do not seed it; other branch shapes remain subject to the fragment’s existing limits. A supported single local recursive gate also uses a monomorphic self reference and generalizes variables free of the enclosing environment after checking its body; captured variables remain shared. The checker collects written capitals per `++` before inference, excluding nested definitions: a capital used in an enclosing definition is shared with its locals even when written later, while a capital introduced only in a local definition is generalized there. Sibling locals can introduce independent capitals with the same spelling; generic mold parameters keep their own scope. Top-level groups of syntactic gates are inferred together with monomorphic placeholders and shared substitutions, then generalized only after the whole group checks; downstream uses and library interfaces instantiate those schemes independently. A dependency graph identifies groups with two iterative depth-first passes; its conservative local-reference edges can reject otherwise valid programs. Supported local mutually recursive gate groups also use shared monomorphic placeholders and generalize only after the group checks, preserving captured outer variables. A bounded dependency proof reports certain non-gate cycles through values and gates when an explicit atom or loobean result cast and simple unshadowed expressions establish the cycle. Other mixed gate/value cycles, polymorphic recursion, unresolved literal constraints and unresolved branch joins remain unsupported. Reporting repeats inference for a single recursive gate outside a group; grouped reports use the stored schemes. Its performance cost remains unmeasured. A single-arm cell pattern accepts two or more binders, the last capturing the remaining tail; duplicate and shadowed binders are rejected. A structured single-arm pattern also works for a known non-union cell when coverage is proven, including nested literal and wildcard positions. Intermediate union or collection tails, nested patterns, wildcards and faced records remain unsupported. String interpolation accepts known atom auras, unrestricted `@`, tapes and isolated decimal literals; a known cell asks for a printer, and an explicitly generic atom asks for an aura. Loobeans, term singletons, non-tape collections, open types and a type fixed only later remain unsupported. A known closed union with two or more arms supports patterns that provably cover or exclude each remaining case, including payload binders, imported and generic cases, and binder-free catch-alls. Partial boolean patterns can split known `?` positions into their two noun values, up to 64 alternatives across the union; binders retain their original case type. Missing alternatives and covered arms are reported. Other partial patterns, expansions above the limit, binders spanning distinct cases, differing arm result types and some complex two-arm subjects remain unsupported. A cast or known call sample can supply result context through whole-case arms and supported finite loobean refinements for a known union accessed by a wing, a grouped wing or a supported shallow call, including nested cell and list positions; other partial-pattern contexts and subject forms remain unsupported. The Grammar’s `step` block infers in this fragment, but its module is not yet checked. A bare tag proved absent from a known union reports the union and tag sites in casts, single-argument calls, unit payloads, list items and supported branch arms; imported unnamed unions print their cases. Ordered fit replay can identify a missing tag nested in a syntactic tuple, stopping at an earlier mismatch or uncertainty. Known faced records support uniquely named field changes, including nested wings, with field context passed to replacements and the original record type retained. Missing fields, empty changes and definite mismatches report sites; the expected-type site is the edit because the original field declaration location is not retained. Unknown or partly unfaced spines, ambiguous fields and repeated edits remain unsupported. A known record cast supplies field context to its tuple or record initializer, including nested list and union fields; mismatch diagnostics use the cast mold because the original field declaration location is not retained. Isolated cart-style `init` and `update` expressions infer, while the complete cart-store fails closed because its kind and declaration scope remain unchecked. Uncontextualized list literals infer a fresh element type, including empty and nested lists, with independently generalized uses. Unresolved item tags and uncertain widening remain unsupported. Backtick unit construction uses the validated standard prelude unit template, infers its payload without losing pending constraints, and makes the prelude’s `some` available. Ordinary result annotations also let its `bind`, `biff`, `both`, `clap`, `clef` and `flit` infer. A known unit in a cast, call, list item or record field supplies context to its payload, including nested units and lists; mismatches identify the payload and context. Unrelated union identities, some variable-dependent fits, and missing or altered prelude unit templates remain unsupported. Literal singleton heads compare by runtime noun, so `|=%$` also matches explicit null- and loobean-zero-headed cases. When equal heads have disjoint payloads, the constructor selects a uniquely proven compatible payload; unknown and ambiguous candidates remain unsupported. Unresolved nulls remain pending and are reported separately from tags. A known union of `~` and a null-headed cell supports a complete `~` / `[~ value]` branch in either order, including shadow checks; unknown subjects, missing or duplicate arms, and unresolved branch results remain unsupported. This fragment infers the prelude’s `fall` and `need` signatures. With the validated prelude list and a known cast or gate sample, empty, nonempty and nested list literals infer their element types, including contextual union tags; a mismatched element names both sites. In that context `~` and zero-valued terms fit an empty list, and two-item unfaced cells form cons lists, including nested cons and imported-list contexts; invalid heads or tails name both sites. A known gate sample also supplies context to matching positions in a single tuple or record argument, including nested cells; zero literals can fit list positions. A bound zero constant remains unsupported rather than a definite mismatch, and an unknown callee does not supply context. Faced or longer cells and a missing or altered prelude list fail closed. A known list result also supplies context through complete loobean, unit-shaped and list-shaped branches, including recursive and nested branches. For a known standard list with a supported element type, a complete `~` / `[item rest]` branch infers the element and tail types in either arm order and checks binders for shadowing. Unknown subjects, unsupported element types and other or incomplete list patterns remain unsupported. A value with type variable `A` can fit a field whose type is that same `A`, including in generic union payloads and nested or repeated record fields. Other variable-dependent face merges remain unsupported. Forced equality of distinct written capitals now reports both source sites, following @iko’s decision; forcing one to a concrete type remains unsupported. Imported record spines with repeated faces fail closed where used, but only with a generic unsupported diagnostic. Hoon may erase unfaced nested-cell boundaries, so the check can conservatively reject valid names in distinct erased scopes. Supported closed unions print using an in-scope name or imported alias; an unnamed nongeneric union prints its cases, parenthesized when nested. The latter is print-only. Generic union types retain all arguments in their printed name; if that name is unavailable, the partial printer reports the limitation. Different import faces for the same origin remain compatible; compatibility across distinct union origins and some generic-argument comparisons remain unsupported. Nonrecursive generic aliases can reorder, repeat or omit parameters while retaining a union’s origin, including through local scopes and library interfaces. A generic union declared directly inside a body remains unsupported, as do differing-variable face constraints in a union payload. A transitive generic union whose name is unavailable is reported as unsupported instead of hiding its arguments. Unfixed decimal literals default to `@ud` in gate-free inferred types; recursive molds, general branch tag context, other constraint cases and defaulting inside gate types still need work. Collection recognition checks the originating core and fails closed on shadows or unsupported Ford subject shapes; a wrapper regression also rejects forged subjects, samples and tails. Its golden fixtures include three real Tlon files. A Clay test passes a Ford-built nested union through the reader into partial inference. The partial prelude includes `murn`, `join`, `snip`, `rear` and the agreed shared-type `clap`; supported calls infer, while backend validation remains outstanding, and [prelude-inventory.md](prelude-inventory.md) is a source audit, not the complete inventory or signatures. The milestone remains unfinished.
47
47
48−The shared prelude interface reserves every name present in the supplied vendored source and makes only supported inferred entries available, including `list`, `unit`, `same`, `fall`, `need`, `bond`, `lure`, `weld`, `snoc` and `turn`. The validated standard `list` mold is injected when the prelude’s own gates are inferred; `weld` and `turn` have ordinary explicit result casts. An absent or altered `list` is not injected, and an altered declaration cannot leak through direct or transitive mold aliases. The same validated template is available when prelude mold aliases are prepared, so supported direct and transitive aliases can use it. Unsupported entries such as most list helpers remain reserved but unavailable; backend validation of the helpers remains outstanding. All callers use the same prelude origin, so a library can export a type containing unqualified `(unit A)` to another module. The source-only `+prepare-prelude` rejects empty, malformed, conflicting or import-bearing source; `+prepare-prelude-with-internal` also accepts the supported private internal import. Prepared values are trusted and must come unchanged from the matching preparation arm. When canonical public list or unit templates are missing or altered, independently inferred private molds remain available, while molds that depend on those templates do not. The module-scope fixture compares the prepared and source-taking paths against the real prelude and a two-module golden under eval and on the ship. The source and checker remain incomplete, so this does not establish complete shadowing coverage or a checked module.
48+The shared prelude interface reserves every name present in the supplied vendored source and makes only supported inferred entries available, including `list`, `unit`, `same`, `fall`, `need`, `bond`, `lure`, `weld`, `snoc`, `turn` and `lent`. The validated standard `list` mold is injected when the prelude’s own gates are inferred; `weld` and `turn` have ordinary explicit result casts. An absent or altered `list` is not injected, and an altered declaration cannot leak through direct or transitive mold aliases. The same validated template is available when prelude mold aliases are prepared, so supported direct and transitive aliases can use it. Unsupported entries such as most list helpers remain reserved but unavailable; backend validation of the helpers remains outstanding. All callers use the same prelude origin, so a library can export a type containing unqualified `(unit A)` to another module. The source-only `+prepare-prelude` rejects empty, malformed, conflicting or import-bearing source; `+prepare-prelude-with-internal` also accepts the supported private internal import. Prepared values are trusted and must come unchanged from the matching preparation arm. When canonical public list or unit templates are missing or altered, independently inferred private molds remain available, while molds that depend on those templates do not. The module-scope fixture compares the prepared and source-taking paths against the real prelude and a two-module golden under eval and on the ship. The source and checker remain incomplete, so this does not establish complete shadowing coverage or a checked module.
49+
50+An eval and ship fixture now reports partial inference for the unchanged todo island with its real API and Hoon readers. It verifies that the source fixtures match `my-app` and exercises missing or duplicate imports; the report does not claim the module or island has been checked. The prelude also has a Jibb-written recursive `lent` whose supported generic calls infer `@ud`. Execution and shape-based jet recognition remain future backend work. Nested union tests check equal runtime nouns, different nested tags, empty fields and unknown inhabitation.
49
51
50## Milestone 1: parser and mark
52## Milestone 1: parser and mark
51
53
@@ -63,8 +65,8 @@ What the plan asks for, and where it is:
63
65
64Besides the plan's list:
66Besides the plan's list:
65
67
66−- 649 golden cases: 429 that parse and 220 that fail, each failure at a stated line and column. One failing case has an unclear expectation (corpus question 3). The newer type-output cases exercise only the partial inference fragment. Each case's `about.txt` quotes the doc's words it tests.
68+- 651 golden cases: 431 that parse and 220 that fail, each failure at a stated line and column. One failing case has an unclear expectation (corpus question 3). The newer type-output cases exercise only the partial inference fragment. Each case's `about.txt` quotes the doc's words it tests.
67−- The 649-case corpus passed under `urbit eval` in 109.6 s while other checks were running. The fake ship passed all 680 tests, including the importer, importer/checker and mark/checker bridges, module scope, unification, hole, qath, ask, default-wrapper importer, projection, arithmetic, generic-alias, positional-face, API-evidence, request, closed-gate, todo API, constructor, sub, nested-union, gate-free and direct-gate guards, with 80.2 s for sync and 94.0 s for tests. The importer golden compares 221 projections; `tools/clay-fixtures` builds the example Hoon fixtures through Clay, checks a recursive Ford import's origin, and passes Clay-built types through the Clay-built importer and partial checker.
69+- The 651-case corpus passed under `urbit eval` in 106.1 s while other checks were running. The fake ship passed all 683 tests, including the importer, importer/checker and mark/checker bridges, module scope, unification, hole, qath, ask, default-wrapper importer, projection, arithmetic, generic-alias, positional-face, API-evidence, request, closed-gate, todo API, constructor, sub, nested-union, gate-free and direct-gate guards and the unchanged todo report, with 77.1 s for sync and 77.3 s for tests. The importer golden compares 221 projections; `tools/clay-fixtures` builds the example Hoon fixtures through Clay, checks a recursive Ford import's origin, and passes Clay-built types through the Clay-built importer and partial checker.
68- `tools/testdata/selftest` (22 checks), `tools/testdata/ship-selftest` and `tools/testdata/clay-fixtures-selftest` test the tools themselves; the last checks temporary Clay fixture cleanup and signal handling without a ship.
70- `tools/testdata/selftest` (22 checks), `tools/testdata/ship-selftest` and `tools/testdata/clay-fixtures-selftest` test the tools themselves; the last checks temporary Clay fixture cleanup and signal handling without a ship.
69- Two independent audits before 7c739b7, one of which compared the library with a reference parser written in Python from the doc over about 19,000 generated programs. Before ab797a9, a second Python parser, written from the decisions, agreed with the library on 8,000 generated programs and 900 hand-written probes.
71- Two independent audits before 7c739b7, one of which compared the library with a reference parser written in Python from the doc over about 19,000 generated programs. Before ab797a9, a second Python parser, written from the decisions, agreed with the library on 8,000 generated programs and 900 hand-written probes.
70- Speed: starting `urbit eval` and building the library takes about 8 s. After that, a 2,000-line module of 400 definitions parses in about a second. Loops over definitions, arms, lines and items grow no stack; nesting costs a few stack frames a level, and 100,000 nested brackets still parse (library section 3).
72- Speed: starting `urbit eval` and building the library takes about 8 s. After that, a 2,000-line module of 400 definitions parses in about a second. Loops over definitions, arms, lines and items grow no stack; nesting costs a few stack frames a level, and 100,000 nested brackets still parse (library section 3).
@@ -161,7 +163,8 @@ Besides the plan's list:
161| 911ca0c | 2026-10-31 | Propagate union context, define subscriptions and match literal nouns |
163| 911ca0c | 2026-10-31 | Propagate union context, define subscriptions and match literal nouns |
162| 72acdb3 | 2026-10-31 | Infer selected nested union payloads from context |
164| 72acdb3 | 2026-10-31 | Infer selected nested union payloads from context |
163| 706035c | 2026-10-31 | Analyze gate-free source molds with field witnesses |
165| 706035c | 2026-10-31 | Analyze gate-free source molds with field witnesses |
164−| This change | 2026-10-31 | Match source-proven gate samples in direct calls |
166+| 651b8ec | 2026-10-31 | Match source-proven gate samples in direct calls |
167+| This change | 2026-10-31 | Add source-backed list length and real todo regression |
165
168
166## Checking it
169## Checking it
167
170
jibb-dev/lib/jibb/prelude.jibb+7
@@ -343,3 +343,10 @@
343 [%watch a=(ask M)]
343 [%watch a=(ask M)]
344 [%every gap=@dr reply=$-(@da M)]
344 [%every gap=@dr reply=$-(@da M)]
345 [%url reply=$-(path M)]
345 [%url reply=$-(path M)]
346+
347+:: Count a finite list with the source-backed addition gate.
348+++ lent |= xs=(list A)
349+ ^- @ud
350+ ?- xs
351+ ~ 0
352+ [item rest] (add 1 (lent rest))
tests/golden/types-partial-union-nested-nouns/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: docs/spec/grammar.md, Molds, Unions: "Cases must differ as nouns"; "a cell with an empty position at any depth is itself empty".
2+tests: Nested zero literals compare by noun across spelling, while distinct nested constants are disjoint. An empty field below an unknown gate makes the whole cell empty; without that field, gate inhabitation is unknown. A fully inhabited cell overlaps the noun mold. This reports pairwise partial mold analysis, not checked molds.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-partial-union-nested-nouns/source.jibbnew file+18
@@ -0,0 +1,18 @@
1++$ nested-zero
2+ [%tag [%$ @t]]
3+ [%tag [~ @t]]
4++$ nested-flag-zero
5+ [%tag [%.y @t]]
6+ [%tag [%$ @t]]
7++$ nested-distinct
8+ [%tag [%a @t]]
9+ [%tag [%b @t]]
10++$ empty-beneath-unknown
11+ *
12+ [%tag [$-(@t @t) !!]]
13++$ unknown-inhabitation
14+ *
15+ [%tag [$-(@t @t) @t]]
16++$ known-inhabitation
17+ *
18+ [%tag [@t @p]]
tests/golden/types-partial-union-nested-nouns/tokens.txtnew file+108
@@ -0,0 +1,108 @@
1+1:1 glyph +$
2+1:4 name nested-zero
3+2:3 INDENT
4+2:3 glyph [
5+2:4 tight lit %tag
6+2:9 glyph [
7+2:10 tight lit %$
8+2:13 aura @t
9+2:15 tight glyph ]
10+2:16 tight glyph ]
11+3:3 NEWLINE
12+3:3 glyph [
13+3:4 tight lit %tag
14+3:9 glyph [
15+3:10 tight lit ~
16+3:12 aura @t
17+3:14 tight glyph ]
18+3:15 tight glyph ]
19+4:1 DEDENT
20+4:1 NEWLINE
21+4:1 glyph +$
22+4:4 name nested-flag-zero
23+5:3 INDENT
24+5:3 glyph [
25+5:4 tight lit %tag
26+5:9 glyph [
27+5:10 tight lit %.y
28+5:14 aura @t
29+5:16 tight glyph ]
30+5:17 tight glyph ]
31+6:3 NEWLINE
32+6:3 glyph [
33+6:4 tight lit %tag
34+6:9 glyph [
35+6:10 tight lit %$
36+6:13 aura @t
37+6:15 tight glyph ]
38+6:16 tight glyph ]
39+7:1 DEDENT
40+7:1 NEWLINE
41+7:1 glyph +$
42+7:4 name nested-distinct
43+8:3 INDENT
44+8:3 glyph [
45+8:4 tight lit %tag
46+8:9 glyph [
47+8:10 tight lit %a
48+8:13 aura @t
49+8:15 tight glyph ]
50+8:16 tight glyph ]
51+9:3 NEWLINE
52+9:3 glyph [
53+9:4 tight lit %tag
54+9:9 glyph [
55+9:10 tight lit %b
56+9:13 aura @t
57+9:15 tight glyph ]
58+9:16 tight glyph ]
59+10:1 DEDENT
60+10:1 NEWLINE
61+10:1 glyph +$
62+10:4 name empty-beneath-unknown
63+11:3 INDENT
64+11:3 glyph *
65+12:3 NEWLINE
66+12:3 glyph [
67+12:4 tight lit %tag
68+12:9 glyph [
69+12:10 tight glyph $-(
70+12:13 tight aura @t
71+12:16 aura @t
72+12:18 tight glyph )
73+12:20 glyph !!
74+12:22 tight glyph ]
75+12:23 tight glyph ]
76+13:1 DEDENT
77+13:1 NEWLINE
78+13:1 glyph +$
79+13:4 name unknown-inhabitation
80+14:3 INDENT
81+14:3 glyph *
82+15:3 NEWLINE
83+15:3 glyph [
84+15:4 tight lit %tag
85+15:9 glyph [
86+15:10 tight glyph $-(
87+15:13 tight aura @t
88+15:16 aura @t
89+15:18 tight glyph )
90+15:20 aura @t
91+15:22 tight glyph ]
92+15:23 tight glyph ]
93+16:1 DEDENT
94+16:1 NEWLINE
95+16:1 glyph +$
96+16:4 name known-inhabitation
97+17:3 INDENT
98+17:3 glyph *
99+18:3 NEWLINE
100+18:3 glyph [
101+18:4 tight lit %tag
102+18:9 glyph [
103+18:10 tight aura @t
104+18:13 aura @p
105+18:15 tight glyph ]
106+18:16 tight glyph ]
107+18:17 DEDENT
108+18:17 NEWLINE
tests/golden/types-partial-union-nested-nouns/tree.txtnew file+47
@@ -0,0 +1,47 @@
1+(module
2+ (mold 1:1 nested-zero
3+ (union 2:3
4+ (cell 2:3
5+ (const 2:4 %tag)
6+ (cell 2:9 (const 2:10 %$) (aura 2:13 @t)))
7+ (cell 3:3
8+ (const 3:4 %tag)
9+ (cell 3:9 (const 3:10 ~) (aura 3:12 @t)))))
10+ (mold 4:1 nested-flag-zero
11+ (union 5:3
12+ (cell 5:3
13+ (const 5:4 %tag)
14+ (cell 5:9 (const 5:10 %.y) (aura 5:14 @t)))
15+ (cell 6:3
16+ (const 6:4 %tag)
17+ (cell 6:9 (const 6:10 %$) (aura 6:13 @t)))))
18+ (mold 7:1 nested-distinct
19+ (union 8:3
20+ (cell 8:3
21+ (const 8:4 %tag)
22+ (cell 8:9 (const 8:10 %a) (aura 8:13 @t)))
23+ (cell 9:3
24+ (const 9:4 %tag)
25+ (cell 9:9 (const 9:10 %b) (aura 9:13 @t)))))
26+ (mold 10:1 empty-beneath-unknown
27+ (union 11:3
28+ (noun 11:3)
29+ (cell 12:3
30+ (const 12:4 %tag)
31+ (cell 12:9
32+ (fn 12:10 (aura 12:13 @t) (aura 12:16 @t))
33+ (void 12:20)))))
34+ (mold 13:1 unknown-inhabitation
35+ (union 14:3
36+ (noun 14:3)
37+ (cell 15:3
38+ (const 15:4 %tag)
39+ (cell 15:9
40+ (fn 15:10 (aura 15:13 @t) (aura 15:16 @t))
41+ (aura 15:20 @t)))))
42+ (mold 16:1 known-inhabitation
43+ (union 17:3
44+ (noun 17:3)
45+ (cell 18:3
46+ (const 18:4 %tag)
47+ (cell 18:9 (aura 18:10 @t) (aura 18:13 @p))))))
tests/golden/types-partial-union-nested-nouns/types.txtnew file+25
@@ -0,0 +1,25 @@
1+partial inference; module not checked
2++$ nested-zero: overlapping cases; mold not checked
3+/tests/golden/types-partial-union-nested-nouns/source.jibb:2:3: first union case
4+ [%tag [%$ @t]]
5+ ^
6+/tests/golden/types-partial-union-nested-nouns/source.jibb:3:3: overlapping case
7+ [%tag [~ @t]]
8+ ^
9++$ nested-flag-zero: overlapping cases; mold not checked
10+/tests/golden/types-partial-union-nested-nouns/source.jibb:5:3: first union case
11+ [%tag [%.y @t]]
12+ ^
13+/tests/golden/types-partial-union-nested-nouns/source.jibb:6:3: overlapping case
14+ [%tag [%$ @t]]
15+ ^
16++$ nested-distinct: cases proven disjoint; mold not checked
17++$ empty-beneath-unknown: cases proven disjoint; mold not checked
18++$ unknown-inhabitation: case disjointness unresolved; mold not checked
19++$ known-inhabitation: overlapping cases; mold not checked
20+/tests/golden/types-partial-union-nested-nouns/source.jibb:17:3: first union case
21+ *
22+ ^
23+/tests/golden/types-partial-union-nested-nouns/source.jibb:18:3: overlapping case
24+ [%tag [@t @p]]
25+ ^
tests/golden/types-prelude-arithmetic/about.txt+1−1
@@ -1,4 +1,4 @@
1source: docs/spec/grammar.md, Molds, Atoms: "Arithmetic rejects loobean operands: `?` contains only 0 and 1, while an arithmetic result need not."
1source: docs/spec/grammar.md, Molds, Atoms: "Arithmetic rejects loobean operands: `?` contains only 0 and 1, while an arithmetic result need not."
2−tests: The source-backed add, dec and gth wrappers preserve numeric auras, constrained generic types, and independent comparison behavior. Loobean operands are rejected by add and dec; lent remains unavailable. Primitive lowering, jet recognition and execution remain unfinished. The module report is partial.
2+tests: The source-backed add, dec and gth wrappers preserve numeric auras, constrained generic types, and independent comparison behavior. Loobean operands are rejected by add and dec; the source-backed lent infers list lengths. Primitive lowering, jet recognition and execution remain unfinished. The module report is partial.
3expect: parses
3expect: parses
4expect-types: a partial inference report
4expect-types: a partial inference report
tests/golden/types-prelude-arithmetic/source.jibb+1−1
@@ -15,7 +15,7 @@
15++ add-hex (add 0x1 0x2)
15++ add-hex (add 0x1 0x2)
16++ reject-bool-dec (dec %.n)
16++ reject-bool-dec (dec %.n)
17++ dec-hex (dec 0x2)
17++ dec-hex (dec 0x2)
18−++ unavailable-length (lent ~["a"])
18+++ list-length (lent ~["a"])
19++ captured |= x=? (add x x)
19++ captured |= x=? (add x x)
20++ captured-local |= x=?
20++ captured-local |= x=?
21 ++ local |= y=? (add x y)
21 ++ local |= y=? (add x y)
tests/golden/types-prelude-arithmetic/tokens.txt+7−7
@@ -142,13 +142,13 @@
14217:20 tight glyph )
14217:20 tight glyph )
14318:1 NEWLINE
14318:1 NEWLINE
14418:1 glyph ++
14418:1 glyph ++
145−18:4 name unavailable-length
145+18:4 name list-length
146−18:23 glyph (
146+18:16 glyph (
147−18:24 tight name lent
147+18:17 tight name lent
148−18:29 glyph ~[
148+18:22 glyph ~[
149−18:31 tight str "a"
149+18:24 tight str "a"
150−18:34 tight glyph ]
150+18:27 tight glyph ]
151−18:35 tight glyph )
151+18:28 tight glyph )
15219:1 NEWLINE
15219:1 NEWLINE
15319:1 glyph ++
15319:1 glyph ++
15419:4 name captured
15419:4 name captured
tests/golden/types-prelude-arithmetic/tree.txt+5−5
@@ -57,11 +57,11 @@
57 (value 17:1 dec-hex
57 (value 17:1 dec-hex
58 (group 17:12
58 (group 17:12
59 (call 17:13 (wing 17:13 dec) (lit 17:17 0x2))))
59 (call 17:13 (wing 17:13 dec) (lit 17:17 0x2))))
60− (value 18:1 unavailable-length
60+ (value 18:1 list-length
61− (group 18:23
61+ (group 18:16
62− (call 18:24
62+ (call 18:17
63− (wing 18:24 lent)
63+ (wing 18:17 lent)
64− (list 18:29 (str 18:31 "a")))))
64+ (list 18:22 (str 18:24 "a")))))
65 (value 19:1 captured
65 (value 19:1 captured
66 (gate 19:13
66 (gate 19:13
67 (face 19:16 x (flag 19:18))
67 (face 19:16 x (flag 19:18))
tests/golden/types-prelude-arithmetic/types.txt+1−1
@@ -38,7 +38,7 @@ partial inference; module not checked
38++ reject-bool-dec (dec %.n)
38++ reject-bool-dec (dec %.n)
39 ^
39 ^
40++ dec-hex: @ux
40++ dec-hex: @ux
41−++ unavailable-length: name is not available to partial inference
41+++ list-length: @ud
42++ captured: call's sample and argument types do not unify
42++ captured: call's sample and argument types do not unify
43/tests/golden/types-prelude-arithmetic/source.jibb:19:21: called gate has type $-([A A] A) where A is an atom other than ?
43/tests/golden/types-prelude-arithmetic/source.jibb:19:21: called gate has type $-([A A] A) where A is an atom other than ?
44++ captured |= x=? (add x x)
44++ captured |= x=? (add x x)
tests/golden/types-prelude-lent/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: docs/spec/overview.md, The prelude: "Lists | 2b | turn, weld, snag, lent, sort, skim"
2+tests: Source-backed lent checks empty and cons lists, values of different element types including gates, and an independently generic list argument; a non-list fails with both sites. The source implements length by recursion and addition. This checks partial inference only; lowering, execution and jet recognition remain unfinished.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-prelude-lent/modules.txtnew file+1
@@ -0,0 +1 @@
1+# no module fixtures
tests/golden/types-prelude-lent/source.jibbnew file+8
@@ -0,0 +1,8 @@
1+++ empty (lent ~)
2+++ singleton (lent ~["a"])
3+++ cons (lent ["a" ~])
4+++ numbers (lent ~[1 2])
5+++ ships (lent ~[~zod ~nec])
6+++ gate-list (lent ~[same])
7+++ generic |= xs=(list A) (lent xs)
8+++ bad (lent "not a list")
tests/golden/types-prelude-lent/tokens.txtnew file+76
@@ -0,0 +1,76 @@
1+1:1 glyph ++
2+1:4 name empty
3+1:10 glyph (
4+1:11 tight name lent
5+1:16 lit ~
6+1:17 tight glyph )
7+2:1 NEWLINE
8+2:1 glyph ++
9+2:4 name singleton
10+2:14 glyph (
11+2:15 tight name lent
12+2:20 glyph ~[
13+2:22 tight str "a"
14+2:25 tight glyph ]
15+2:26 tight glyph )
16+3:1 NEWLINE
17+3:1 glyph ++
18+3:4 name cons
19+3:9 glyph (
20+3:10 tight name lent
21+3:15 glyph [
22+3:16 tight str "a"
23+3:20 lit ~
24+3:21 tight glyph ]
25+3:22 tight glyph )
26+4:1 NEWLINE
27+4:1 glyph ++
28+4:4 name numbers
29+4:12 glyph (
30+4:13 tight name lent
31+4:18 glyph ~[
32+4:20 tight lit 1
33+4:22 lit 2
34+4:23 tight glyph ]
35+4:24 tight glyph )
36+5:1 NEWLINE
37+5:1 glyph ++
38+5:4 name ships
39+5:10 glyph (
40+5:11 tight name lent
41+5:16 glyph ~[
42+5:18 tight lit ~zod
43+5:23 lit ~nec
44+5:27 tight glyph ]
45+5:28 tight glyph )
46+6:1 NEWLINE
47+6:1 glyph ++
48+6:4 name gate-list
49+6:14 glyph (
50+6:15 tight name lent
51+6:20 glyph ~[
52+6:22 tight name same
53+6:26 tight glyph ]
54+6:27 tight glyph )
55+7:1 NEWLINE
56+7:1 glyph ++
57+7:4 name generic
58+7:12 glyph |=
59+7:15 name xs
60+7:17 tight glyph =
61+7:18 tight glyph (
62+7:19 tight name list
63+7:24 tvar A
64+7:25 tight glyph )
65+7:27 glyph (
66+7:28 tight name lent
67+7:33 name xs
68+7:35 tight glyph )
69+8:1 NEWLINE
70+8:1 glyph ++
71+8:4 name bad
72+8:8 glyph (
73+8:9 tight name lent
74+8:14 str "not a list"
75+8:26 tight glyph )
76+8:27 NEWLINE
tests/golden/types-prelude-lent/tree.txtnew file+38
@@ -0,0 +1,38 @@
1+(module
2+ (value 1:1 empty
3+ (group 1:10
4+ (call 1:11 (wing 1:11 lent) (lit 1:16 ~))))
5+ (value 2:1 singleton
6+ (group 2:14
7+ (call 2:15
8+ (wing 2:15 lent)
9+ (list 2:20 (str 2:22 "a")))))
10+ (value 3:1 cons
11+ (group 3:9
12+ (call 3:10
13+ (wing 3:10 lent)
14+ (tuple 3:15 (str 3:16 "a") (lit 3:20 ~)))))
15+ (value 4:1 numbers
16+ (group 4:12
17+ (call 4:13
18+ (wing 4:13 lent)
19+ (list 4:18 (lit 4:20 1) (lit 4:22 2)))))
20+ (value 5:1 ships
21+ (group 5:10
22+ (call 5:11
23+ (wing 5:11 lent)
24+ (list 5:16 (lit 5:18 ~zod) (lit 5:23 ~nec)))))
25+ (value 6:1 gate-list
26+ (group 6:14
27+ (call 6:15
28+ (wing 6:15 lent)
29+ (list 6:20 (wing 6:22 same)))))
30+ (value 7:1 generic
31+ (gate 7:12
32+ (face 7:15 xs
33+ (apply 7:18 list (tvar 7:24 A)))
34+ (group 7:27
35+ (call 7:28 (wing 7:28 lent) (wing 7:33 xs)))))
36+ (value 8:1 bad
37+ (group 8:8
38+ (call 8:9 (wing 8:9 lent) (str 8:14 "not a list")))))
tests/golden/types-prelude-lent/types.txtnew file+15
@@ -0,0 +1,15 @@
1+partial inference; module not checked
2+++ empty: @ud
3+++ singleton: @ud
4+++ cons: @ud
5+++ numbers: @ud
6+++ ships: @ud
7+++ gate-list: @ud
8+++ generic: $-((list A) @ud)
9+++ bad: call's sample and argument types do not unify
10+/tests/golden/types-prelude-lent/source.jibb:8:9: called gate has type $-((list A) @ud)
11+++ bad (lent "not a list")
12+ ^
13+/tests/golden/types-prelude-lent/source.jibb:8:14: argument has type @t
14+++ bad (lent "not a list")
15+ ^
tests/lib/jibb-todo-partial.hoonnew file+58
@@ -0,0 +1,58 @@
1+:: The exact todo island through real readers: partial reports only.
2+/+ jibb, jibb-import
3+/* prelude %jibb /lib/jibb/prelude/jibb
4+/* internal %jibb /lib/jibb/internal/jibb
5+/* sur %txt /tests/type-api-paths/todo-sur/txt
6+/* action %txt /tests/type-api-paths/todo-action/txt
7+/* todos %txt /tests/type-api-paths/todos/txt
8+/* update %txt /tests/type-api-paths/todo-update/txt
9+/* item %txt /tests/type-api-paths/todo-item/txt
10+/* api %txt /tests/type-api-paths/api/txt
11+/* source %txt /tests/type-gate-free/todo/txt
12+/* expected %txt /tests/type-todo-partial/expected/txt
13+|%
14+++ text
15+ |= lines=wain
16+ ^- @t
17+ (rap 3 (turn lines |=(line=@t (cat 3 line '\0a'))))
18+++ todo-island-report
19+ |= [public=@t private=@t sur-text=@t action-text=@t todos-text=@t update-text=@t item-text=@t api-text=@t source-text=@t]
20+ ^- @t
21+ =/ prepared=(unit iprelude:jibb) (prepare-prelude-with-internal:jibb public private)
22+ ?~ prepared 'prelude unavailable'
23+ =/ todo=type -:(ride -:!>(..zuse) sur-text)
24+ =/ subject=type [%cell [%face %todo todo] -:!>(..zuse)]
25+ =/ ma=* (read-mark:jibb-import %todo-action -:(ride subject action-text))
26+ =/ mt=* (read-mark:jibb-import %todos -:(ride subject todos-text))
27+ =/ mu=* (read-mark:jibb-import %todo-update -:(ride subject update-text))
28+ =/ mi=* (read-mark:jibb-import %todo-item -:(ride subject item-text))
29+ =/ marks=imark-externals:jibb ~[[%todo-action ma] [%todos mt] [%todo-update mu] [%todo-item mi]]
30+ =/ item-input=* (read-named:jibb-import %todo %item todo)
31+ =/ inputs=iexternals:jibb ~[[%todo %item item-input]]
32+ =/ modules=jbundle:jibb ~[[/ui/api/todo/jibb api-text]]
33+ =/ at=path /ui/todo-list/jibb
34+ =/ normal=@t (golden-types-with-prepared-prelude:jibb at source-text inputs marks modules prepared)
35+ =/ missing-mark=imark-externals:jibb (skim marks |=(x=[mark=term result=*] !=(%todo-update mark.x)))
36+ =/ duplicate-mark=imark-externals:jibb [[%todo-action ma] marks]
37+ =/ negative=(list [label=@t externals=iexternals:jibb marks=imark-externals:jibb])
38+ :~ ['missing-mark' inputs missing-mark]
39+ ['duplicate-mark' inputs duplicate-mark]
40+ ['missing-selected-sur' ~ marks]
41+ ==
42+ =/ failures=(list @t)
43+ %+ turn negative
44+ |= c=[label=@t externals=iexternals:jibb marks=imark-externals:jibb]
45+ =/ bad (infer-jibb-file:jibb /ui/api/todo/jibb api-text externals.c marks.c ~ ~[/ui/api/todo/jibb] values.u.prepared molds.u.prepared ~ `iface.u.prepared)
46+ ?: ?=(%| -.bad) (cat 3 label.c ': rejected')
47+ (cat 3 label.c ': BAD accepted')
48+ =/ missing-module=@t (golden-types-with-prepared-prelude:jibb at source-text inputs marks ~ prepared)
49+ (of-wain:format (weld ~['unchanged todo: partial inference only' normal 'negative API imports'] (weld failures ~['missing module: partial report' missing-module])))
50+++ test-todo-partial
51+ ^- tang
52+ ?~ source ~[leaf+"todo source fixture is missing"]
53+ ?~ expected ~[leaf+"todo partial report is missing"]
54+ =/ report=@t (todo-island-report prelude internal (text sur) (text action) (text todos) (text update) (text item) (text api) (text source))
55+ ?. =((to-wain:format (cat 3 report '\0a')) expected)
56+ ~[leaf+"unchanged todo partial report differs from its golden"]
57+ ~
58+--
tests/lib/jibb.hoon+654−642
@@ -1891,529 +1891,537 @@
1891/* tok-530 %txt /tests/golden/types-partial-union-edges/tokens/txt
1891/* tok-530 %txt /tests/golden/types-partial-union-edges/tokens/txt
1892/* tre-530 %txt /tests/golden/types-partial-union-edges/tree/txt
1892/* tre-530 %txt /tests/golden/types-partial-union-edges/tree/txt
1893/* typ-530 %txt /tests/golden/types-partial-union-edges/types/txt
1893/* typ-530 %txt /tests/golden/types-partial-union-edges/types/txt
1894−/* src-531 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1894+/* src-531 %jibb /tests/golden/types-partial-union-nested-nouns/source/jibb
1895−/* tok-531 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1895+/* tok-531 %txt /tests/golden/types-partial-union-nested-nouns/tokens/txt
1896−/* tre-531 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1896+/* tre-531 %txt /tests/golden/types-partial-union-nested-nouns/tree/txt
1897−/* typ-531 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1897+/* typ-531 %txt /tests/golden/types-partial-union-nested-nouns/types/txt
1898−/* src-532 %jibb /tests/golden/types-positional-faces/source/jibb
1898+/* src-532 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1899−/* tok-532 %txt /tests/golden/types-positional-faces/tokens/txt
1899+/* tok-532 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1900−/* tre-532 %txt /tests/golden/types-positional-faces/tree/txt
1900+/* tre-532 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1901−/* typ-532 %txt /tests/golden/types-positional-faces/types/txt
1901+/* typ-532 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1902−/* src-533 %jibb /tests/golden/types-prelude-arithmetic/source/jibb
1902+/* src-533 %jibb /tests/golden/types-positional-faces/source/jibb
1903−/* tok-533 %txt /tests/golden/types-prelude-arithmetic/tokens/txt
1903+/* tok-533 %txt /tests/golden/types-positional-faces/tokens/txt
1904−/* tre-533 %txt /tests/golden/types-prelude-arithmetic/tree/txt
1904+/* tre-533 %txt /tests/golden/types-positional-faces/tree/txt
1905−/* typ-533 %txt /tests/golden/types-prelude-arithmetic/types/txt
1905+/* typ-533 %txt /tests/golden/types-positional-faces/types/txt
1906−/* src-534 %jibb /tests/golden/types-prelude-ask/source/jibb
1906+/* src-534 %jibb /tests/golden/types-prelude-arithmetic/source/jibb
1907−/* tok-534 %txt /tests/golden/types-prelude-ask/tokens/txt
1907+/* tok-534 %txt /tests/golden/types-prelude-arithmetic/tokens/txt
1908−/* tre-534 %txt /tests/golden/types-prelude-ask/tree/txt
1908+/* tre-534 %txt /tests/golden/types-prelude-arithmetic/tree/txt
1909−/* typ-534 %txt /tests/golden/types-prelude-ask/types/txt
1909+/* typ-534 %txt /tests/golden/types-prelude-arithmetic/types/txt
1910−/* src-535 %jibb /tests/golden/types-prelude-bond/source/jibb
1910+/* src-535 %jibb /tests/golden/types-prelude-ask/source/jibb
1911−/* tok-535 %txt /tests/golden/types-prelude-bond/tokens/txt
1911+/* tok-535 %txt /tests/golden/types-prelude-ask/tokens/txt
1912−/* tre-535 %txt /tests/golden/types-prelude-bond/tree/txt
1912+/* tre-535 %txt /tests/golden/types-prelude-ask/tree/txt
1913−/* typ-535 %txt /tests/golden/types-prelude-bond/types/txt
1913+/* typ-535 %txt /tests/golden/types-prelude-ask/types/txt
1914−/* src-536 %jibb /tests/golden/types-prelude-cmd/source/jibb
1914+/* src-536 %jibb /tests/golden/types-prelude-bond/source/jibb
1915−/* tok-536 %txt /tests/golden/types-prelude-cmd/tokens/txt
1915+/* tok-536 %txt /tests/golden/types-prelude-bond/tokens/txt
1916−/* tre-536 %txt /tests/golden/types-prelude-cmd/tree/txt
1916+/* tre-536 %txt /tests/golden/types-prelude-bond/tree/txt
1917−/* typ-536 %txt /tests/golden/types-prelude-cmd/types/txt
1917+/* typ-536 %txt /tests/golden/types-prelude-bond/types/txt
1918−/* src-537 %jibb /tests/golden/types-prelude-direct/source/jibb
1918+/* src-537 %jibb /tests/golden/types-prelude-cmd/source/jibb
1919−/* tok-537 %txt /tests/golden/types-prelude-direct/tokens/txt
1919+/* tok-537 %txt /tests/golden/types-prelude-cmd/tokens/txt
1920−/* tre-537 %txt /tests/golden/types-prelude-direct/tree/txt
1920+/* tre-537 %txt /tests/golden/types-prelude-cmd/tree/txt
1921−/* typ-537 %txt /tests/golden/types-prelude-direct/types/txt
1921+/* typ-537 %txt /tests/golden/types-prelude-cmd/types/txt
1922−/* src-538 %jibb /tests/golden/types-prelude-functional/source/jibb
1922+/* src-538 %jibb /tests/golden/types-prelude-direct/source/jibb
1923−/* tok-538 %txt /tests/golden/types-prelude-functional/tokens/txt
1923+/* tok-538 %txt /tests/golden/types-prelude-direct/tokens/txt
1924−/* tre-538 %txt /tests/golden/types-prelude-functional/tree/txt
1924+/* tre-538 %txt /tests/golden/types-prelude-direct/tree/txt
1925−/* typ-538 %txt /tests/golden/types-prelude-functional/types/txt
1925+/* typ-538 %txt /tests/golden/types-prelude-direct/types/txt
1926−/* src-539 %jibb /tests/golden/types-prelude-generic-alias/source/jibb
1926+/* src-539 %jibb /tests/golden/types-prelude-functional/source/jibb
1927−/* tok-539 %txt /tests/golden/types-prelude-generic-alias/tokens/txt
1927+/* tok-539 %txt /tests/golden/types-prelude-functional/tokens/txt
1928−/* tre-539 %txt /tests/golden/types-prelude-generic-alias/tree/txt
1928+/* tre-539 %txt /tests/golden/types-prelude-functional/tree/txt
1929−/* mod-539-1 %jibb /tests/golden/types-prelude-generic-alias/modules/ui/alias-helper/jibb
1929+/* typ-539 %txt /tests/golden/types-prelude-functional/types/txt
1930−/* typ-539 %txt /tests/golden/types-prelude-generic-alias/types/txt
1930+/* src-540 %jibb /tests/golden/types-prelude-generic-alias/source/jibb
1931−/* mtre-539 %txt /tests/golden/types-prelude-generic-alias/module-trees/txt
1931+/* tok-540 %txt /tests/golden/types-prelude-generic-alias/tokens/txt
1932−/* src-540 %jibb /tests/golden/types-prelude-interface/source/jibb
1932+/* tre-540 %txt /tests/golden/types-prelude-generic-alias/tree/txt
1933−/* tok-540 %txt /tests/golden/types-prelude-interface/tokens/txt
1933+/* mod-540-1 %jibb /tests/golden/types-prelude-generic-alias/modules/ui/alias-helper/jibb
1934−/* tre-540 %txt /tests/golden/types-prelude-interface/tree/txt
1934+/* typ-540 %txt /tests/golden/types-prelude-generic-alias/types/txt
1935−/* mod-540-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1935+/* mtre-540 %txt /tests/golden/types-prelude-generic-alias/module-trees/txt
1936−/* mod-540-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1936+/* src-541 %jibb /tests/golden/types-prelude-interface/source/jibb
1937−/* typ-540 %txt /tests/golden/types-prelude-interface/types/txt
1937+/* tok-541 %txt /tests/golden/types-prelude-interface/tokens/txt
1938−/* mtre-540 %txt /tests/golden/types-prelude-interface/module-trees/txt
1938+/* tre-541 %txt /tests/golden/types-prelude-interface/tree/txt
1939−/* src-541 %jibb /tests/golden/types-prelude-like/source/jibb
1939+/* mod-541-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1940−/* tok-541 %txt /tests/golden/types-prelude-like/tokens/txt
1940+/* mod-541-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1941−/* tre-541 %txt /tests/golden/types-prelude-like/tree/txt
1941+/* typ-541 %txt /tests/golden/types-prelude-interface/types/txt
1942−/* typ-541 %txt /tests/golden/types-prelude-like/types/txt
1942+/* mtre-541 %txt /tests/golden/types-prelude-interface/module-trees/txt
1943−/* src-542 %jibb /tests/golden/types-prelude-list-alias/source/jibb
1943+/* src-542 %jibb /tests/golden/types-prelude-lent/source/jibb
1944−/* tok-542 %txt /tests/golden/types-prelude-list-alias/tokens/txt
1944+/* tok-542 %txt /tests/golden/types-prelude-lent/tokens/txt
1945−/* tre-542 %txt /tests/golden/types-prelude-list-alias/tree/txt
1945+/* tre-542 %txt /tests/golden/types-prelude-lent/tree/txt
1946−/* typ-542 %txt /tests/golden/types-prelude-list-alias/types/txt
1946+/* typ-542 %txt /tests/golden/types-prelude-lent/types/txt
1947−/* src-543 %jibb /tests/golden/types-prelude-list-functions/source/jibb
1947+/* src-543 %jibb /tests/golden/types-prelude-like/source/jibb
1948−/* tok-543 %txt /tests/golden/types-prelude-list-functions/tokens/txt
1948+/* tok-543 %txt /tests/golden/types-prelude-like/tokens/txt
1949−/* tre-543 %txt /tests/golden/types-prelude-list-functions/tree/txt
1949+/* tre-543 %txt /tests/golden/types-prelude-like/tree/txt
1950−/* mod-543-1 %jibb /tests/golden/types-prelude-list-functions/modules/ui/lib/jibb
1950+/* typ-543 %txt /tests/golden/types-prelude-like/types/txt
1951−/* typ-543 %txt /tests/golden/types-prelude-list-functions/types/txt
1951+/* src-544 %jibb /tests/golden/types-prelude-list-alias/source/jibb
1952−/* mtre-543 %txt /tests/golden/types-prelude-list-functions/module-trees/txt
1952+/* tok-544 %txt /tests/golden/types-prelude-list-alias/tokens/txt
1953−/* src-544 %jibb /tests/golden/types-prelude-list-helpers/source/jibb
1953+/* tre-544 %txt /tests/golden/types-prelude-list-alias/tree/txt
1954−/* tok-544 %txt /tests/golden/types-prelude-list-helpers/tokens/txt
1954+/* typ-544 %txt /tests/golden/types-prelude-list-alias/types/txt
1955−/* tre-544 %txt /tests/golden/types-prelude-list-helpers/tree/txt
1955+/* src-545 %jibb /tests/golden/types-prelude-list-functions/source/jibb
1956−/* typ-544 %txt /tests/golden/types-prelude-list-helpers/types/txt
1956+/* tok-545 %txt /tests/golden/types-prelude-list-functions/tokens/txt
1957−/* src-545 %jibb /tests/golden/types-prelude-predicates/source/jibb
1957+/* tre-545 %txt /tests/golden/types-prelude-list-functions/tree/txt
1958−/* tok-545 %txt /tests/golden/types-prelude-predicates/tokens/txt
1958+/* mod-545-1 %jibb /tests/golden/types-prelude-list-functions/modules/ui/lib/jibb
1959−/* tre-545 %txt /tests/golden/types-prelude-predicates/tree/txt
1959+/* typ-545 %txt /tests/golden/types-prelude-list-functions/types/txt
1960−/* typ-545 %txt /tests/golden/types-prelude-predicates/types/txt
1960+/* mtre-545 %txt /tests/golden/types-prelude-list-functions/module-trees/txt
1961−/* src-546 %jibb /tests/golden/types-prelude-sub/source/jibb
1961+/* src-546 %jibb /tests/golden/types-prelude-list-helpers/source/jibb
1962−/* tok-546 %txt /tests/golden/types-prelude-sub/tokens/txt
1962+/* tok-546 %txt /tests/golden/types-prelude-list-helpers/tokens/txt
1963−/* tre-546 %txt /tests/golden/types-prelude-sub/tree/txt
1963+/* tre-546 %txt /tests/golden/types-prelude-list-helpers/tree/txt
1964−/* typ-546 %txt /tests/golden/types-prelude-sub/types/txt
1964+/* typ-546 %txt /tests/golden/types-prelude-list-helpers/types/txt
1965−/* src-547 %jibb /tests/golden/types-prelude-sub-nested/source/jibb
1965+/* src-547 %jibb /tests/golden/types-prelude-predicates/source/jibb
1966−/* tok-547 %txt /tests/golden/types-prelude-sub-nested/tokens/txt
1966+/* tok-547 %txt /tests/golden/types-prelude-predicates/tokens/txt
1967−/* tre-547 %txt /tests/golden/types-prelude-sub-nested/tree/txt
1967+/* tre-547 %txt /tests/golden/types-prelude-predicates/tree/txt
1968−/* typ-547 %txt /tests/golden/types-prelude-sub-nested/types/txt
1968+/* typ-547 %txt /tests/golden/types-prelude-predicates/types/txt
1969−/* src-548 %jibb /tests/golden/types-prelude-unit-helpers/source/jibb
1969+/* src-548 %jibb /tests/golden/types-prelude-sub/source/jibb
1970−/* tok-548 %txt /tests/golden/types-prelude-unit-helpers/tokens/txt
1970+/* tok-548 %txt /tests/golden/types-prelude-sub/tokens/txt
1971−/* tre-548 %txt /tests/golden/types-prelude-unit-helpers/tree/txt
1971+/* tre-548 %txt /tests/golden/types-prelude-sub/tree/txt
1972−/* typ-548 %txt /tests/golden/types-prelude-unit-helpers/types/txt
1972+/* typ-548 %txt /tests/golden/types-prelude-sub/types/txt
1973−/* src-549 %jibb /tests/golden/types-proj-explicit-context/source/jibb
1973+/* src-549 %jibb /tests/golden/types-prelude-sub-nested/source/jibb
1974−/* tok-549 %txt /tests/golden/types-proj-explicit-context/tokens/txt
1974+/* tok-549 %txt /tests/golden/types-prelude-sub-nested/tokens/txt
1975−/* tre-549 %txt /tests/golden/types-proj-explicit-context/tree/txt
1975+/* tre-549 %txt /tests/golden/types-prelude-sub-nested/tree/txt
1976−/* typ-549 %txt /tests/golden/types-proj-explicit-context/types/txt
1976+/* typ-549 %txt /tests/golden/types-prelude-sub-nested/types/txt
1977−/* src-550 %jibb /tests/golden/types-proj-nested-no-implicit/source/jibb
1977+/* src-550 %jibb /tests/golden/types-prelude-unit-helpers/source/jibb
1978−/* tok-550 %txt /tests/golden/types-proj-nested-no-implicit/tokens/txt
1978+/* tok-550 %txt /tests/golden/types-prelude-unit-helpers/tokens/txt
1979−/* tre-550 %txt /tests/golden/types-proj-nested-no-implicit/tree/txt
1979+/* tre-550 %txt /tests/golden/types-prelude-unit-helpers/tree/txt
1980−/* typ-550 %txt /tests/golden/types-proj-nested-no-implicit/types/txt
1980+/* typ-550 %txt /tests/golden/types-prelude-unit-helpers/types/txt
1981−/* src-551 %jibb /tests/golden/types-proj-reserved-imported-definition/source/jibb
1981+/* src-551 %jibb /tests/golden/types-proj-explicit-context/source/jibb
1982−/* tok-551 %txt /tests/golden/types-proj-reserved-imported-definition/tokens/txt
1982+/* tok-551 %txt /tests/golden/types-proj-explicit-context/tokens/txt
1983−/* tre-551 %txt /tests/golden/types-proj-reserved-imported-definition/tree/txt
1983+/* tre-551 %txt /tests/golden/types-proj-explicit-context/tree/txt
1984−/* mod-551-1 %jibb /tests/golden/types-proj-reserved-imported-definition/modules/ui/lib/jibb
1984+/* typ-551 %txt /tests/golden/types-proj-explicit-context/types/txt
1985−/* typ-551 %txt /tests/golden/types-proj-reserved-imported-definition/types/txt
1985+/* src-552 %jibb /tests/golden/types-proj-nested-no-implicit/source/jibb
1986−/* mtre-551 %txt /tests/golden/types-proj-reserved-imported-definition/module-trees/txt
1986+/* tok-552 %txt /tests/golden/types-proj-nested-no-implicit/tokens/txt
1987−/* src-552 %jibb /tests/golden/types-proj-reserved-jibb-import/source/jibb
1987+/* tre-552 %txt /tests/golden/types-proj-nested-no-implicit/tree/txt
1988−/* tok-552 %txt /tests/golden/types-proj-reserved-jibb-import/tokens/txt
1988+/* typ-552 %txt /tests/golden/types-proj-nested-no-implicit/types/txt
1989−/* tre-552 %txt /tests/golden/types-proj-reserved-jibb-import/tree/txt
1989+/* src-553 %jibb /tests/golden/types-proj-reserved-imported-definition/source/jibb
1990−/* mod-552-1 %jibb /tests/golden/types-proj-reserved-jibb-import/modules/ui/lib/jibb
1990+/* tok-553 %txt /tests/golden/types-proj-reserved-imported-definition/tokens/txt
1991−/* typ-552 %txt /tests/golden/types-proj-reserved-jibb-import/types/txt
1991+/* tre-553 %txt /tests/golden/types-proj-reserved-imported-definition/tree/txt
1992−/* mtre-552 %txt /tests/golden/types-proj-reserved-jibb-import/module-trees/txt
1992+/* mod-553-1 %jibb /tests/golden/types-proj-reserved-imported-definition/modules/ui/lib/jibb
1993−/* src-553 %jibb /tests/golden/types-proj-reserved-local/source/jibb
1993+/* typ-553 %txt /tests/golden/types-proj-reserved-imported-definition/types/txt
1994−/* tok-553 %txt /tests/golden/types-proj-reserved-local/tokens/txt
1994+/* mtre-553 %txt /tests/golden/types-proj-reserved-imported-definition/module-trees/txt
1995−/* tre-553 %txt /tests/golden/types-proj-reserved-local/tree/txt
1995+/* src-554 %jibb /tests/golden/types-proj-reserved-jibb-import/source/jibb
1996−/* typ-553 %txt /tests/golden/types-proj-reserved-local/types/txt
1996+/* tok-554 %txt /tests/golden/types-proj-reserved-jibb-import/tokens/txt
1997−/* src-554 %jibb /tests/golden/types-proj-reserved-local-mold/source/jibb
1997+/* tre-554 %txt /tests/golden/types-proj-reserved-jibb-import/tree/txt
1998−/* tok-554 %txt /tests/golden/types-proj-reserved-local-mold/tokens/txt
1998+/* mod-554-1 %jibb /tests/golden/types-proj-reserved-jibb-import/modules/ui/lib/jibb
1999−/* tre-554 %txt /tests/golden/types-proj-reserved-local-mold/tree/txt
1999+/* typ-554 %txt /tests/golden/types-proj-reserved-jibb-import/types/txt
2000−/* typ-554 %txt /tests/golden/types-proj-reserved-local-mold/types/txt
2000+/* mtre-554 %txt /tests/golden/types-proj-reserved-jibb-import/module-trees/txt
2001−/* src-555 %jibb /tests/golden/types-proj-reserved-mark-import/source/jibb
2001+/* src-555 %jibb /tests/golden/types-proj-reserved-local/source/jibb
2002−/* tok-555 %txt /tests/golden/types-proj-reserved-mark-import/tokens/txt
2002+/* tok-555 %txt /tests/golden/types-proj-reserved-local/tokens/txt
2003−/* tre-555 %txt /tests/golden/types-proj-reserved-mark-import/tree/txt
2003+/* tre-555 %txt /tests/golden/types-proj-reserved-local/tree/txt
2004−/* typ-555 %txt /tests/golden/types-proj-reserved-mark-import/types/txt
2004+/* typ-555 %txt /tests/golden/types-proj-reserved-local/types/txt
2005−/* src-556 %jibb /tests/golden/types-proj-reserved-mold/source/jibb
2005+/* src-556 %jibb /tests/golden/types-proj-reserved-local-mold/source/jibb
2006−/* tok-556 %txt /tests/golden/types-proj-reserved-mold/tokens/txt
2006+/* tok-556 %txt /tests/golden/types-proj-reserved-local-mold/tokens/txt
2007−/* tre-556 %txt /tests/golden/types-proj-reserved-mold/tree/txt
2007+/* tre-556 %txt /tests/golden/types-proj-reserved-local-mold/tree/txt
2008−/* typ-556 %txt /tests/golden/types-proj-reserved-mold/types/txt
2008+/* typ-556 %txt /tests/golden/types-proj-reserved-local-mold/types/txt
2009−/* src-557 %jibb /tests/golden/types-proj-reserved-pattern/source/jibb
2009+/* src-557 %jibb /tests/golden/types-proj-reserved-mark-import/source/jibb
2010−/* tok-557 %txt /tests/golden/types-proj-reserved-pattern/tokens/txt
2010+/* tok-557 %txt /tests/golden/types-proj-reserved-mark-import/tokens/txt
2011−/* tre-557 %txt /tests/golden/types-proj-reserved-pattern/tree/txt
2011+/* tre-557 %txt /tests/golden/types-proj-reserved-mark-import/tree/txt
2012−/* typ-557 %txt /tests/golden/types-proj-reserved-pattern/types/txt
2012+/* typ-557 %txt /tests/golden/types-proj-reserved-mark-import/types/txt
2013−/* src-558 %jibb /tests/golden/types-proj-reserved-positive/source/jibb
2013+/* src-558 %jibb /tests/golden/types-proj-reserved-mold/source/jibb
2014−/* tok-558 %txt /tests/golden/types-proj-reserved-positive/tokens/txt
2014+/* tok-558 %txt /tests/golden/types-proj-reserved-mold/tokens/txt
2015−/* tre-558 %txt /tests/golden/types-proj-reserved-positive/tree/txt
2015+/* tre-558 %txt /tests/golden/types-proj-reserved-mold/tree/txt
2016−/* typ-558 %txt /tests/golden/types-proj-reserved-positive/types/txt
2016+/* typ-558 %txt /tests/golden/types-proj-reserved-mold/types/txt
2017−/* src-559 %jibb /tests/golden/types-proj-reserved-sample/source/jibb
2017+/* src-559 %jibb /tests/golden/types-proj-reserved-pattern/source/jibb
2018−/* tok-559 %txt /tests/golden/types-proj-reserved-sample/tokens/txt
2018+/* tok-559 %txt /tests/golden/types-proj-reserved-pattern/tokens/txt
2019−/* tre-559 %txt /tests/golden/types-proj-reserved-sample/tree/txt
2019+/* tre-559 %txt /tests/golden/types-proj-reserved-pattern/tree/txt
2020−/* typ-559 %txt /tests/golden/types-proj-reserved-sample/types/txt
2020+/* typ-559 %txt /tests/golden/types-proj-reserved-pattern/types/txt
2021−/* src-560 %jibb /tests/golden/types-proj-reserved-sur-import/source/jibb
2021+/* src-560 %jibb /tests/golden/types-proj-reserved-positive/source/jibb
2022−/* tok-560 %txt /tests/golden/types-proj-reserved-sur-import/tokens/txt
2022+/* tok-560 %txt /tests/golden/types-proj-reserved-positive/tokens/txt
2023−/* tre-560 %txt /tests/golden/types-proj-reserved-sur-import/tree/txt
2023+/* tre-560 %txt /tests/golden/types-proj-reserved-positive/tree/txt
2024−/* typ-560 %txt /tests/golden/types-proj-reserved-sur-import/types/txt
2024+/* typ-560 %txt /tests/golden/types-proj-reserved-positive/types/txt
2025−/* src-561 %jibb /tests/golden/types-proj-reserved-unused-pattern/source/jibb
2025+/* src-561 %jibb /tests/golden/types-proj-reserved-sample/source/jibb
2026−/* tok-561 %txt /tests/golden/types-proj-reserved-unused-pattern/tokens/txt
2026+/* tok-561 %txt /tests/golden/types-proj-reserved-sample/tokens/txt
2027−/* tre-561 %txt /tests/golden/types-proj-reserved-unused-pattern/tree/txt
2027+/* tre-561 %txt /tests/golden/types-proj-reserved-sample/tree/txt
2028−/* typ-561 %txt /tests/golden/types-proj-reserved-unused-pattern/types/txt
2028+/* typ-561 %txt /tests/golden/types-proj-reserved-sample/types/txt
2029−/* src-562 %jibb /tests/golden/types-proj-reserved-unused-sample/source/jibb
2029+/* src-562 %jibb /tests/golden/types-proj-reserved-sur-import/source/jibb
2030−/* tok-562 %txt /tests/golden/types-proj-reserved-unused-sample/tokens/txt
2030+/* tok-562 %txt /tests/golden/types-proj-reserved-sur-import/tokens/txt
2031−/* tre-562 %txt /tests/golden/types-proj-reserved-unused-sample/tree/txt
2031+/* tre-562 %txt /tests/golden/types-proj-reserved-sur-import/tree/txt
2032−/* typ-562 %txt /tests/golden/types-proj-reserved-unused-sample/types/txt
2032+/* typ-562 %txt /tests/golden/types-proj-reserved-sur-import/types/txt
2033−/* src-563 %jibb /tests/golden/types-proj-reserved-unused-value/source/jibb
2033+/* src-563 %jibb /tests/golden/types-proj-reserved-unused-pattern/source/jibb
2034−/* tok-563 %txt /tests/golden/types-proj-reserved-unused-value/tokens/txt
2034+/* tok-563 %txt /tests/golden/types-proj-reserved-unused-pattern/tokens/txt
2035−/* tre-563 %txt /tests/golden/types-proj-reserved-unused-value/tree/txt
2035+/* tre-563 %txt /tests/golden/types-proj-reserved-unused-pattern/tree/txt
2036−/* typ-563 %txt /tests/golden/types-proj-reserved-unused-value/types/txt
2036+/* typ-563 %txt /tests/golden/types-proj-reserved-unused-pattern/types/txt
2037−/* src-564 %jibb /tests/golden/types-proj-reserved-value/source/jibb
2037+/* src-564 %jibb /tests/golden/types-proj-reserved-unused-sample/source/jibb
2038−/* tok-564 %txt /tests/golden/types-proj-reserved-value/tokens/txt
2038+/* tok-564 %txt /tests/golden/types-proj-reserved-unused-sample/tokens/txt
2039−/* tre-564 %txt /tests/golden/types-proj-reserved-value/tree/txt
2039+/* tre-564 %txt /tests/golden/types-proj-reserved-unused-sample/tree/txt
2040−/* typ-564 %txt /tests/golden/types-proj-reserved-value/types/txt
2040+/* typ-564 %txt /tests/golden/types-proj-reserved-unused-sample/types/txt
2041−/* src-565 %jibb /tests/golden/types-proj-single-duplicate/source/jibb
2041+/* src-565 %jibb /tests/golden/types-proj-reserved-unused-value/source/jibb
2042−/* tok-565 %txt /tests/golden/types-proj-single-duplicate/tokens/txt
2042+/* tok-565 %txt /tests/golden/types-proj-reserved-unused-value/tokens/txt
2043−/* tre-565 %txt /tests/golden/types-proj-single-duplicate/tree/txt
2043+/* tre-565 %txt /tests/golden/types-proj-reserved-unused-value/tree/txt
2044−/* typ-565 %txt /tests/golden/types-proj-single-duplicate/types/txt
2044+/* typ-565 %txt /tests/golden/types-proj-reserved-unused-value/types/txt
2045−/* src-566 %jibb /tests/golden/types-proj-single-field/source/jibb
2045+/* src-566 %jibb /tests/golden/types-proj-reserved-value/source/jibb
2046−/* tok-566 %txt /tests/golden/types-proj-single-field/tokens/txt
2046+/* tok-566 %txt /tests/golden/types-proj-reserved-value/tokens/txt
2047−/* tre-566 %txt /tests/golden/types-proj-single-field/tree/txt
2047+/* tre-566 %txt /tests/golden/types-proj-reserved-value/tree/txt
2048−/* typ-566 %txt /tests/golden/types-proj-single-field/types/txt
2048+/* typ-566 %txt /tests/golden/types-proj-reserved-value/types/txt
2049−/* src-567 %jibb /tests/golden/types-proj-single-sample-face/source/jibb
2049+/* src-567 %jibb /tests/golden/types-proj-single-duplicate/source/jibb
2050−/* tok-567 %txt /tests/golden/types-proj-single-sample-face/tokens/txt
2050+/* tok-567 %txt /tests/golden/types-proj-single-duplicate/tokens/txt
2051−/* tre-567 %txt /tests/golden/types-proj-single-sample-face/tree/txt
2051+/* tre-567 %txt /tests/golden/types-proj-single-duplicate/tree/txt
2052−/* typ-567 %txt /tests/golden/types-proj-single-sample-face/types/txt
2052+/* typ-567 %txt /tests/golden/types-proj-single-duplicate/types/txt
2053−/* src-568 %jibb /tests/golden/types-proj-single-wrapped/source/jibb
2053+/* src-568 %jibb /tests/golden/types-proj-single-field/source/jibb
2054−/* tok-568 %txt /tests/golden/types-proj-single-wrapped/tokens/txt
2054+/* tok-568 %txt /tests/golden/types-proj-single-field/tokens/txt
2055−/* tre-568 %txt /tests/golden/types-proj-single-wrapped/tree/txt
2055+/* tre-568 %txt /tests/golden/types-proj-single-field/tree/txt
2056−/* typ-568 %txt /tests/golden/types-proj-single-wrapped/types/txt
2056+/* typ-568 %txt /tests/golden/types-proj-single-field/types/txt
2057−/* src-569 %jibb /tests/golden/types-qath-faces/source/jibb
2057+/* src-569 %jibb /tests/golden/types-proj-single-sample-face/source/jibb
2058−/* tok-569 %txt /tests/golden/types-qath-faces/tokens/txt
2058+/* tok-569 %txt /tests/golden/types-proj-single-sample-face/tokens/txt
2059−/* tre-569 %txt /tests/golden/types-qath-faces/tree/txt
2059+/* tre-569 %txt /tests/golden/types-proj-single-sample-face/tree/txt
2060−/* typ-569 %txt /tests/golden/types-qath-faces/types/txt
2060+/* typ-569 %txt /tests/golden/types-proj-single-sample-face/types/txt
2061−/* src-570 %jibb /tests/golden/types-qath-holes/source/jibb
2061+/* src-570 %jibb /tests/golden/types-proj-single-wrapped/source/jibb
2062−/* tok-570 %txt /tests/golden/types-qath-holes/tokens/txt
2062+/* tok-570 %txt /tests/golden/types-proj-single-wrapped/tokens/txt
2063−/* tre-570 %txt /tests/golden/types-qath-holes/tree/txt
2063+/* tre-570 %txt /tests/golden/types-proj-single-wrapped/tree/txt
2064−/* typ-570 %txt /tests/golden/types-qath-holes/types/txt
2064+/* typ-570 %txt /tests/golden/types-proj-single-wrapped/types/txt
2065−/* src-571 %jibb /tests/golden/types-qath-module-identity/source/jibb
2065+/* src-571 %jibb /tests/golden/types-qath-faces/source/jibb
2066−/* tok-571 %txt /tests/golden/types-qath-module-identity/tokens/txt
2066+/* tok-571 %txt /tests/golden/types-qath-faces/tokens/txt
2067−/* tre-571 %txt /tests/golden/types-qath-module-identity/tree/txt
2067+/* tre-571 %txt /tests/golden/types-qath-faces/tree/txt
2068−/* mod-571-1 %jibb /tests/golden/types-qath-module-identity/modules/ui/one/jibb
2068+/* typ-571 %txt /tests/golden/types-qath-faces/types/txt
2069−/* mod-571-2 %jibb /tests/golden/types-qath-module-identity/modules/ui/two/jibb
2069+/* src-572 %jibb /tests/golden/types-qath-holes/source/jibb
2070−/* mod-571-3 %jibb /tests/golden/types-qath-module-identity/modules/ui/mid/jibb
2070+/* tok-572 %txt /tests/golden/types-qath-holes/tokens/txt
2071−/* typ-571 %txt /tests/golden/types-qath-module-identity/types/txt
2071+/* tre-572 %txt /tests/golden/types-qath-holes/tree/txt
2072−/* mtre-571 %txt /tests/golden/types-qath-module-identity/module-trees/txt
2072+/* typ-572 %txt /tests/golden/types-qath-holes/types/txt
2073−/* src-572 %jibb /tests/golden/types-qath-recursive/source/jibb
2073+/* src-573 %jibb /tests/golden/types-qath-module-identity/source/jibb
2074−/* tok-572 %txt /tests/golden/types-qath-recursive/tokens/txt
2074+/* tok-573 %txt /tests/golden/types-qath-module-identity/tokens/txt
2075−/* tre-572 %txt /tests/golden/types-qath-recursive/tree/txt
2075+/* tre-573 %txt /tests/golden/types-qath-module-identity/tree/txt
2076−/* typ-572 %txt /tests/golden/types-qath-recursive/types/txt
2076+/* mod-573-1 %jibb /tests/golden/types-qath-module-identity/modules/ui/one/jibb
2077−/* src-573 %jibb /tests/golden/types-record-bound-variable/source/jibb
2077+/* mod-573-2 %jibb /tests/golden/types-qath-module-identity/modules/ui/two/jibb
2078−/* tok-573 %txt /tests/golden/types-record-bound-variable/tokens/txt
2078+/* mod-573-3 %jibb /tests/golden/types-qath-module-identity/modules/ui/mid/jibb
2079−/* tre-573 %txt /tests/golden/types-record-bound-variable/tree/txt
2079+/* typ-573 %txt /tests/golden/types-qath-module-identity/types/txt
2080−/* typ-573 %txt /tests/golden/types-record-bound-variable/types/txt
2080+/* mtre-573 %txt /tests/golden/types-qath-module-identity/module-trees/txt
2081−/* src-574 %jibb /tests/golden/types-record-cast-context/source/jibb
2081+/* src-574 %jibb /tests/golden/types-qath-recursive/source/jibb
2082−/* tok-574 %txt /tests/golden/types-record-cast-context/tokens/txt
2082+/* tok-574 %txt /tests/golden/types-qath-recursive/tokens/txt
2083−/* tre-574 %txt /tests/golden/types-record-cast-context/tree/txt
2083+/* tre-574 %txt /tests/golden/types-qath-recursive/tree/txt
2084−/* typ-574 %txt /tests/golden/types-record-cast-context/types/txt
2084+/* typ-574 %txt /tests/golden/types-qath-recursive/types/txt
2085−/* src-575 %jibb /tests/golden/types-record-change/source/jibb
2085+/* src-575 %jibb /tests/golden/types-record-bound-variable/source/jibb
2086−/* tok-575 %txt /tests/golden/types-record-change/tokens/txt
2086+/* tok-575 %txt /tests/golden/types-record-bound-variable/tokens/txt
2087−/* tre-575 %txt /tests/golden/types-record-change/tree/txt
2087+/* tre-575 %txt /tests/golden/types-record-bound-variable/tree/txt
2088−/* typ-575 %txt /tests/golden/types-record-change/types/txt
2088+/* typ-575 %txt /tests/golden/types-record-bound-variable/types/txt
2089−/* src-576 %jibb /tests/golden/types-record-change-generic/source/jibb
2089+/* src-576 %jibb /tests/golden/types-record-cast-context/source/jibb
2090−/* tok-576 %txt /tests/golden/types-record-change-generic/tokens/txt
2090+/* tok-576 %txt /tests/golden/types-record-cast-context/tokens/txt
2091−/* tre-576 %txt /tests/golden/types-record-change-generic/tree/txt
2091+/* tre-576 %txt /tests/golden/types-record-cast-context/tree/txt
2092−/* typ-576 %txt /tests/golden/types-record-change-generic/types/txt
2092+/* typ-576 %txt /tests/golden/types-record-cast-context/types/txt
2093−/* src-577 %jibb /tests/golden/types-record-faces/source/jibb
2093+/* src-577 %jibb /tests/golden/types-record-change/source/jibb
2094−/* tok-577 %txt /tests/golden/types-record-faces/tokens/txt
2094+/* tok-577 %txt /tests/golden/types-record-change/tokens/txt
2095−/* tre-577 %txt /tests/golden/types-record-faces/tree/txt
2095+/* tre-577 %txt /tests/golden/types-record-change/tree/txt
2096−/* typ-577 %txt /tests/golden/types-record-faces/types/txt
2096+/* typ-577 %txt /tests/golden/types-record-change/types/txt
2097−/* src-578 %jibb /tests/golden/types-record-field-edit-separate/source/jibb
2097+/* src-578 %jibb /tests/golden/types-record-change-generic/source/jibb
2098−/* tok-578 %txt /tests/golden/types-record-field-edit-separate/tokens/txt
2098+/* tok-578 %txt /tests/golden/types-record-change-generic/tokens/txt
2099−/* tre-578 %txt /tests/golden/types-record-field-edit-separate/tree/txt
2099+/* tre-578 %txt /tests/golden/types-record-change-generic/tree/txt
2100−/* typ-578 %txt /tests/golden/types-record-field-edit-separate/types/txt
2100+/* typ-578 %txt /tests/golden/types-record-change-generic/types/txt
2101−/* src-579 %jibb /tests/golden/types-record-field-expr-duplicate/source/jibb
2101+/* src-579 %jibb /tests/golden/types-record-faces/source/jibb
2102−/* tok-579 %txt /tests/golden/types-record-field-expr-duplicate/tokens/txt
2102+/* tok-579 %txt /tests/golden/types-record-faces/tokens/txt
2103−/* tre-579 %txt /tests/golden/types-record-field-expr-duplicate/tree/txt
2103+/* tre-579 %txt /tests/golden/types-record-faces/tree/txt
2104−/* typ-579 %txt /tests/golden/types-record-field-expr-duplicate/types/txt
2104+/* typ-579 %txt /tests/golden/types-record-faces/types/txt
2105−/* src-580 %jibb /tests/golden/types-record-field-expr-separate/source/jibb
2105+/* src-580 %jibb /tests/golden/types-record-field-edit-separate/source/jibb
2106−/* tok-580 %txt /tests/golden/types-record-field-expr-separate/tokens/txt
2106+/* tok-580 %txt /tests/golden/types-record-field-edit-separate/tokens/txt
2107−/* tre-580 %txt /tests/golden/types-record-field-expr-separate/tree/txt
2107+/* tre-580 %txt /tests/golden/types-record-field-edit-separate/tree/txt
2108−/* typ-580 %txt /tests/golden/types-record-field-expr-separate/types/txt
2108+/* typ-580 %txt /tests/golden/types-record-field-edit-separate/types/txt
2109−/* src-581 %jibb /tests/golden/types-record-field-module-reachable/source/jibb
2109+/* src-581 %jibb /tests/golden/types-record-field-expr-duplicate/source/jibb
2110−/* tok-581 %txt /tests/golden/types-record-field-module-reachable/tokens/txt
2110+/* tok-581 %txt /tests/golden/types-record-field-expr-duplicate/tokens/txt
2111−/* tre-581 %txt /tests/golden/types-record-field-module-reachable/tree/txt
2111+/* tre-581 %txt /tests/golden/types-record-field-expr-duplicate/tree/txt
2112−/* mod-581-1 %jibb /tests/golden/types-record-field-module-reachable/modules/ui/lib/jibb
2112+/* typ-581 %txt /tests/golden/types-record-field-expr-duplicate/types/txt
2113−/* typ-581 %txt /tests/golden/types-record-field-module-reachable/types/txt
2113+/* src-582 %jibb /tests/golden/types-record-field-expr-separate/source/jibb
2114−/* mtre-581 %txt /tests/golden/types-record-field-module-reachable/module-trees/txt
2114+/* tok-582 %txt /tests/golden/types-record-field-expr-separate/tokens/txt
2115−/* src-582 %jibb /tests/golden/types-record-field-module-unused/source/jibb
2115+/* tre-582 %txt /tests/golden/types-record-field-expr-separate/tree/txt
2116−/* tok-582 %txt /tests/golden/types-record-field-module-unused/tokens/txt
2116+/* typ-582 %txt /tests/golden/types-record-field-expr-separate/types/txt
2117−/* tre-582 %txt /tests/golden/types-record-field-module-unused/tree/txt
2117+/* src-583 %jibb /tests/golden/types-record-field-module-reachable/source/jibb
2118−/* mod-582-1 %jibb /tests/golden/types-record-field-module-unused/modules/ui/good/jibb
2118+/* tok-583 %txt /tests/golden/types-record-field-module-reachable/tokens/txt
2119−/* mod-582-2 %jibb /tests/golden/types-record-field-module-unused/modules/ui/unused/jibb
2119+/* tre-583 %txt /tests/golden/types-record-field-module-reachable/tree/txt
2120−/* typ-582 %txt /tests/golden/types-record-field-module-unused/types/txt
2120+/* mod-583-1 %jibb /tests/golden/types-record-field-module-reachable/modules/ui/lib/jibb
2121−/* mtre-582 %txt /tests/golden/types-record-field-module-unused/module-trees/txt
2121+/* typ-583 %txt /tests/golden/types-record-field-module-reachable/types/txt
2122−/* src-583 %jibb /tests/golden/types-record-field-nested-mold/source/jibb
2122+/* mtre-583 %txt /tests/golden/types-record-field-module-reachable/module-trees/txt
2123−/* tok-583 %txt /tests/golden/types-record-field-nested-mold/tokens/txt
2123+/* src-584 %jibb /tests/golden/types-record-field-module-unused/source/jibb
2124−/* tre-583 %txt /tests/golden/types-record-field-nested-mold/tree/txt
2124+/* tok-584 %txt /tests/golden/types-record-field-module-unused/tokens/txt
2125−/* typ-583 %txt /tests/golden/types-record-field-nested-mold/types/txt
2125+/* tre-584 %txt /tests/golden/types-record-field-module-unused/tree/txt
2126−/* src-584 %jibb /tests/golden/types-record-field-outer-inner/source/jibb
2126+/* mod-584-1 %jibb /tests/golden/types-record-field-module-unused/modules/ui/good/jibb
2127−/* tok-584 %txt /tests/golden/types-record-field-outer-inner/tokens/txt
2127+/* mod-584-2 %jibb /tests/golden/types-record-field-module-unused/modules/ui/unused/jibb
2128−/* tre-584 %txt /tests/golden/types-record-field-outer-inner/tree/txt
2128+/* typ-584 %txt /tests/golden/types-record-field-module-unused/types/txt
2129−/* typ-584 %txt /tests/golden/types-record-field-outer-inner/types/txt
2129+/* mtre-584 %txt /tests/golden/types-record-field-module-unused/module-trees/txt
2130−/* src-585 %jibb /tests/golden/types-record-field-sample-duplicate/source/jibb
2130+/* src-585 %jibb /tests/golden/types-record-field-nested-mold/source/jibb
2131−/* tok-585 %txt /tests/golden/types-record-field-sample-duplicate/tokens/txt
2131+/* tok-585 %txt /tests/golden/types-record-field-nested-mold/tokens/txt
2132−/* tre-585 %txt /tests/golden/types-record-field-sample-duplicate/tree/txt
2132+/* tre-585 %txt /tests/golden/types-record-field-nested-mold/tree/txt
2133−/* typ-585 %txt /tests/golden/types-record-field-sample-duplicate/types/txt
2133+/* typ-585 %txt /tests/golden/types-record-field-nested-mold/types/txt
2134−/* src-586 %jibb /tests/golden/types-record-field-separate-molds/source/jibb
2134+/* src-586 %jibb /tests/golden/types-record-field-outer-inner/source/jibb
2135−/* tok-586 %txt /tests/golden/types-record-field-separate-molds/tokens/txt
2135+/* tok-586 %txt /tests/golden/types-record-field-outer-inner/tokens/txt
2136−/* tre-586 %txt /tests/golden/types-record-field-separate-molds/tree/txt
2136+/* tre-586 %txt /tests/golden/types-record-field-outer-inner/tree/txt
2137−/* typ-586 %txt /tests/golden/types-record-field-separate-molds/types/txt
2137+/* typ-586 %txt /tests/golden/types-record-field-outer-inner/types/txt
2138−/* src-587 %jibb /tests/golden/types-record-field-unused-mold/source/jibb
2138+/* src-587 %jibb /tests/golden/types-record-field-sample-duplicate/source/jibb
2139−/* tok-587 %txt /tests/golden/types-record-field-unused-mold/tokens/txt
2139+/* tok-587 %txt /tests/golden/types-record-field-sample-duplicate/tokens/txt
2140−/* tre-587 %txt /tests/golden/types-record-field-unused-mold/tree/txt
2140+/* tre-587 %txt /tests/golden/types-record-field-sample-duplicate/tree/txt
2141−/* typ-587 %txt /tests/golden/types-record-field-unused-mold/types/txt
2141+/* typ-587 %txt /tests/golden/types-record-field-sample-duplicate/types/txt
2142−/* src-588 %jibb /tests/golden/types-record-import/source/jibb
2142+/* src-588 %jibb /tests/golden/types-record-field-separate-molds/source/jibb
2143−/* tok-588 %txt /tests/golden/types-record-import/tokens/txt
2143+/* tok-588 %txt /tests/golden/types-record-field-separate-molds/tokens/txt
2144−/* tre-588 %txt /tests/golden/types-record-import/tree/txt
2144+/* tre-588 %txt /tests/golden/types-record-field-separate-molds/tree/txt
2145−/* mod-588-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
2145+/* typ-588 %txt /tests/golden/types-record-field-separate-molds/types/txt
2146−/* typ-588 %txt /tests/golden/types-record-import/types/txt
2146+/* src-589 %jibb /tests/golden/types-record-field-unused-mold/source/jibb
2147−/* mtre-588 %txt /tests/golden/types-record-import/module-trees/txt
2147+/* tok-589 %txt /tests/golden/types-record-field-unused-mold/tokens/txt
2148−/* src-589 %jibb /tests/golden/types-record-local-scheme/source/jibb
2148+/* tre-589 %txt /tests/golden/types-record-field-unused-mold/tree/txt
2149−/* tok-589 %txt /tests/golden/types-record-local-scheme/tokens/txt
2149+/* typ-589 %txt /tests/golden/types-record-field-unused-mold/types/txt
2150−/* tre-589 %txt /tests/golden/types-record-local-scheme/tree/txt
2150+/* src-590 %jibb /tests/golden/types-record-import/source/jibb
2151−/* typ-589 %txt /tests/golden/types-record-local-scheme/types/txt
2151+/* tok-590 %txt /tests/golden/types-record-import/tokens/txt
2152−/* src-590 %jibb /tests/golden/types-record-nested/source/jibb
2152+/* tre-590 %txt /tests/golden/types-record-import/tree/txt
2153−/* tok-590 %txt /tests/golden/types-record-nested/tokens/txt
2153+/* mod-590-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
2154−/* tre-590 %txt /tests/golden/types-record-nested/tree/txt
2154+/* typ-590 %txt /tests/golden/types-record-import/types/txt
2155−/* typ-590 %txt /tests/golden/types-record-nested/types/txt
2155+/* mtre-590 %txt /tests/golden/types-record-import/module-trees/txt
2156−/* src-591 %jibb /tests/golden/types-record-to-tuple/source/jibb
2156+/* src-591 %jibb /tests/golden/types-record-local-scheme/source/jibb
2157−/* tok-591 %txt /tests/golden/types-record-to-tuple/tokens/txt
2157+/* tok-591 %txt /tests/golden/types-record-local-scheme/tokens/txt
2158−/* tre-591 %txt /tests/golden/types-record-to-tuple/tree/txt
2158+/* tre-591 %txt /tests/golden/types-record-local-scheme/tree/txt
2159−/* typ-591 %txt /tests/golden/types-record-to-tuple/types/txt
2159+/* typ-591 %txt /tests/golden/types-record-local-scheme/types/txt
2160−/* src-592 %jibb /tests/golden/types-recursion-scc-failures/source/jibb
2160+/* src-592 %jibb /tests/golden/types-record-nested/source/jibb
2161−/* tok-592 %txt /tests/golden/types-recursion-scc-failures/tokens/txt
2161+/* tok-592 %txt /tests/golden/types-record-nested/tokens/txt
2162−/* tre-592 %txt /tests/golden/types-recursion-scc-failures/tree/txt
2162+/* tre-592 %txt /tests/golden/types-record-nested/tree/txt
2163−/* typ-592 %txt /tests/golden/types-recursion-scc-failures/types/txt
2163+/* typ-592 %txt /tests/golden/types-record-nested/types/txt
2164−/* src-593 %jibb /tests/golden/types-recursion-scc-groups/source/jibb
2164+/* src-593 %jibb /tests/golden/types-record-to-tuple/source/jibb
2165−/* tok-593 %txt /tests/golden/types-recursion-scc-groups/tokens/txt
2165+/* tok-593 %txt /tests/golden/types-record-to-tuple/tokens/txt
2166−/* tre-593 %txt /tests/golden/types-recursion-scc-groups/tree/txt
2166+/* tre-593 %txt /tests/golden/types-record-to-tuple/tree/txt
2167−/* typ-593 %txt /tests/golden/types-recursion-scc-groups/types/txt
2167+/* typ-593 %txt /tests/golden/types-record-to-tuple/types/txt
2168−/* src-594 %jibb /tests/golden/types-recursion-scc-import/source/jibb
2168+/* src-594 %jibb /tests/golden/types-recursion-scc-failures/source/jibb
2169−/* tok-594 %txt /tests/golden/types-recursion-scc-import/tokens/txt
2169+/* tok-594 %txt /tests/golden/types-recursion-scc-failures/tokens/txt
2170−/* tre-594 %txt /tests/golden/types-recursion-scc-import/tree/txt
2170+/* tre-594 %txt /tests/golden/types-recursion-scc-failures/tree/txt
2171−/* mod-594-1 %jibb /tests/golden/types-recursion-scc-import/modules/ui/lib/jibb
2171+/* typ-594 %txt /tests/golden/types-recursion-scc-failures/types/txt
2172−/* typ-594 %txt /tests/golden/types-recursion-scc-import/types/txt
2172+/* src-595 %jibb /tests/golden/types-recursion-scc-groups/source/jibb
2173−/* mtre-594 %txt /tests/golden/types-recursion-scc-import/module-trees/txt
2173+/* tok-595 %txt /tests/golden/types-recursion-scc-groups/tokens/txt
2174−/* src-595 %jibb /tests/golden/types-recursion-scc-import-bad/source/jibb
2174+/* tre-595 %txt /tests/golden/types-recursion-scc-groups/tree/txt
2175−/* tok-595 %txt /tests/golden/types-recursion-scc-import-bad/tokens/txt
2175+/* typ-595 %txt /tests/golden/types-recursion-scc-groups/types/txt
2176−/* tre-595 %txt /tests/golden/types-recursion-scc-import-bad/tree/txt
2176+/* src-596 %jibb /tests/golden/types-recursion-scc-import/source/jibb
2177−/* mod-595-1 %jibb /tests/golden/types-recursion-scc-import-bad/modules/ui/lib/jibb
2177+/* tok-596 %txt /tests/golden/types-recursion-scc-import/tokens/txt
2178−/* typ-595 %txt /tests/golden/types-recursion-scc-import-bad/types/txt
2178+/* tre-596 %txt /tests/golden/types-recursion-scc-import/tree/txt
2179−/* mtre-595 %txt /tests/golden/types-recursion-scc-import-bad/module-trees/txt
2179+/* mod-596-1 %jibb /tests/golden/types-recursion-scc-import/modules/ui/lib/jibb
2180−/* src-596 %jibb /tests/golden/types-recursion-scc-local/source/jibb
2180+/* typ-596 %txt /tests/golden/types-recursion-scc-import/types/txt
2181−/* tok-596 %txt /tests/golden/types-recursion-scc-local/tokens/txt
2181+/* mtre-596 %txt /tests/golden/types-recursion-scc-import/module-trees/txt
2182−/* tre-596 %txt /tests/golden/types-recursion-scc-local/tree/txt
2182+/* src-597 %jibb /tests/golden/types-recursion-scc-import-bad/source/jibb
2183−/* typ-596 %txt /tests/golden/types-recursion-scc-local/types/txt
2183+/* tok-597 %txt /tests/golden/types-recursion-scc-import-bad/tokens/txt
2184−/* src-597 %jibb /tests/golden/types-recursion-scc-order/source/jibb
2184+/* tre-597 %txt /tests/golden/types-recursion-scc-import-bad/tree/txt
2185−/* tok-597 %txt /tests/golden/types-recursion-scc-order/tokens/txt
2185+/* mod-597-1 %jibb /tests/golden/types-recursion-scc-import-bad/modules/ui/lib/jibb
2186−/* tre-597 %txt /tests/golden/types-recursion-scc-order/tree/txt
2186+/* typ-597 %txt /tests/golden/types-recursion-scc-import-bad/types/txt
2187−/* typ-597 %txt /tests/golden/types-recursion-scc-order/types/txt
2187+/* mtre-597 %txt /tests/golden/types-recursion-scc-import-bad/module-trees/txt
2188−/* src-598 %jibb /tests/golden/types-recursion-scc-shadow/source/jibb
2188+/* src-598 %jibb /tests/golden/types-recursion-scc-local/source/jibb
2189−/* tok-598 %txt /tests/golden/types-recursion-scc-shadow/tokens/txt
2189+/* tok-598 %txt /tests/golden/types-recursion-scc-local/tokens/txt
2190−/* tre-598 %txt /tests/golden/types-recursion-scc-shadow/tree/txt
2190+/* tre-598 %txt /tests/golden/types-recursion-scc-local/tree/txt
2191−/* typ-598 %txt /tests/golden/types-recursion-scc-shadow/types/txt
2191+/* typ-598 %txt /tests/golden/types-recursion-scc-local/types/txt
2192−/* src-599 %jibb /tests/golden/types-recursive-branch/source/jibb
2192+/* src-599 %jibb /tests/golden/types-recursion-scc-order/source/jibb
2193−/* tok-599 %txt /tests/golden/types-recursive-branch/tokens/txt
2193+/* tok-599 %txt /tests/golden/types-recursion-scc-order/tokens/txt
2194−/* tre-599 %txt /tests/golden/types-recursive-branch/tree/txt
2194+/* tre-599 %txt /tests/golden/types-recursion-scc-order/tree/txt
2195−/* typ-599 %txt /tests/golden/types-recursive-branch/types/txt
2195+/* typ-599 %txt /tests/golden/types-recursion-scc-order/types/txt
2196−/* src-600 %jibb /tests/golden/types-recursive-gate/source/jibb
2196+/* src-600 %jibb /tests/golden/types-recursion-scc-shadow/source/jibb
2197−/* tok-600 %txt /tests/golden/types-recursive-gate/tokens/txt
2197+/* tok-600 %txt /tests/golden/types-recursion-scc-shadow/tokens/txt
2198−/* tre-600 %txt /tests/golden/types-recursive-gate/tree/txt
2198+/* tre-600 %txt /tests/golden/types-recursion-scc-shadow/tree/txt
2199−/* typ-600 %txt /tests/golden/types-recursive-gate/types/txt
2199+/* typ-600 %txt /tests/golden/types-recursion-scc-shadow/types/txt
2200−/* src-601 %jibb /tests/golden/types-recursive-sample/source/jibb
2200+/* src-601 %jibb /tests/golden/types-recursive-branch/source/jibb
2201−/* tok-601 %txt /tests/golden/types-recursive-sample/tokens/txt
2201+/* tok-601 %txt /tests/golden/types-recursive-branch/tokens/txt
2202−/* tre-601 %txt /tests/golden/types-recursive-sample/tree/txt
2202+/* tre-601 %txt /tests/golden/types-recursive-branch/tree/txt
2203−/* typ-601 %txt /tests/golden/types-recursive-sample/types/txt
2203+/* typ-601 %txt /tests/golden/types-recursive-branch/types/txt
2204−/* src-602 %jibb /tests/golden/types-request-normal/source/jibb
2204+/* src-602 %jibb /tests/golden/types-recursive-gate/source/jibb
2205−/* tok-602 %txt /tests/golden/types-request-normal/tokens/txt
2205+/* tok-602 %txt /tests/golden/types-recursive-gate/tokens/txt
2206−/* tre-602 %txt /tests/golden/types-request-normal/tree/txt
2206+/* tre-602 %txt /tests/golden/types-recursive-gate/tree/txt
2207−/* mod-602-1 %jibb /tests/golden/types-request-normal/modules/ui/api/demo/jibb
2207+/* typ-602 %txt /tests/golden/types-recursive-gate/types/txt
2208−/* typ-602 %txt /tests/golden/types-request-normal/types/txt
2208+/* src-603 %jibb /tests/golden/types-recursive-sample/source/jibb
2209−/* mark-602-1 %txt /tests/golden/types-request-normal/mar/full/txt
2209+/* tok-603 %txt /tests/golden/types-recursive-sample/tokens/txt
2210−/* mtre-602 %txt /tests/golden/types-request-normal/module-trees/txt
2210+/* tre-603 %txt /tests/golden/types-recursive-sample/tree/txt
2211−/* src-603 %jibb /tests/golden/types-scope-library-poke/source/jibb
2211+/* typ-603 %txt /tests/golden/types-recursive-sample/types/txt
2212−/* tok-603 %txt /tests/golden/types-scope-library-poke/tokens/txt
2212+/* src-604 %jibb /tests/golden/types-request-normal/source/jibb
2213−/* tre-603 %txt /tests/golden/types-scope-library-poke/tree/txt
2213+/* tok-604 %txt /tests/golden/types-request-normal/tokens/txt
2214−/* typ-603 %txt /tests/golden/types-scope-library-poke/types/txt
2214+/* tre-604 %txt /tests/golden/types-request-normal/tree/txt
2215−/* src-604 %jibb /tests/golden/types-scope-root-api/source/jibb
2215+/* mod-604-1 %jibb /tests/golden/types-request-normal/modules/ui/api/demo/jibb
2216−/* tok-604 %txt /tests/golden/types-scope-root-api/tokens/txt
2216+/* typ-604 %txt /tests/golden/types-request-normal/types/txt
2217−/* tre-604 %txt /tests/golden/types-scope-root-api/tree/txt
2217+/* mark-604-1 %txt /tests/golden/types-request-normal/mar/full/txt
2218−/* typ-604 %txt /tests/golden/types-scope-root-api/types/txt
2218+/* mtre-604 %txt /tests/golden/types-request-normal/module-trees/txt
2219−/* src-605 %jibb /tests/golden/types-scope-store-duplicate/source/jibb
2219+/* src-605 %jibb /tests/golden/types-scope-library-poke/source/jibb
2220−/* tok-605 %txt /tests/golden/types-scope-store-duplicate/tokens/txt
2220+/* tok-605 %txt /tests/golden/types-scope-library-poke/tokens/txt
2221−/* tre-605 %txt /tests/golden/types-scope-store-duplicate/tree/txt
2221+/* tre-605 %txt /tests/golden/types-scope-library-poke/tree/txt
2222−/* typ-605 %txt /tests/golden/types-scope-store-duplicate/types/txt
2222+/* typ-605 %txt /tests/golden/types-scope-library-poke/types/txt
2223−/* src-606 %jibb /tests/golden/types-scope-store-shadow/source/jibb
2223+/* src-606 %jibb /tests/golden/types-scope-root-api/source/jibb
2224−/* tok-606 %txt /tests/golden/types-scope-store-shadow/tokens/txt
2224+/* tok-606 %txt /tests/golden/types-scope-root-api/tokens/txt
2225−/* tre-606 %txt /tests/golden/types-scope-store-shadow/tree/txt
2225+/* tre-606 %txt /tests/golden/types-scope-root-api/tree/txt
2226−/* typ-606 %txt /tests/golden/types-scope-store-shadow/types/txt
2226+/* typ-606 %txt /tests/golden/types-scope-root-api/types/txt
2227−/* src-607 %jibb /tests/golden/types-single-case-pattern/source/jibb
2227+/* src-607 %jibb /tests/golden/types-scope-store-duplicate/source/jibb
2228−/* tok-607 %txt /tests/golden/types-single-case-pattern/tokens/txt
2228+/* tok-607 %txt /tests/golden/types-scope-store-duplicate/tokens/txt
2229−/* tre-607 %txt /tests/golden/types-single-case-pattern/tree/txt
2229+/* tre-607 %txt /tests/golden/types-scope-store-duplicate/tree/txt
2230−/* typ-607 %txt /tests/golden/types-single-case-pattern/types/txt
2230+/* typ-607 %txt /tests/golden/types-scope-store-duplicate/types/txt
2231−/* src-608 %jibb /tests/golden/types-string-interpolation/source/jibb
2231+/* src-608 %jibb /tests/golden/types-scope-store-shadow/source/jibb
2232−/* tok-608 %txt /tests/golden/types-string-interpolation/tokens/txt
2232+/* tok-608 %txt /tests/golden/types-scope-store-shadow/tokens/txt
2233−/* tre-608 %txt /tests/golden/types-string-interpolation/tree/txt
2233+/* tre-608 %txt /tests/golden/types-scope-store-shadow/tree/txt
2234−/* typ-608 %txt /tests/golden/types-string-interpolation/types/txt
2234+/* typ-608 %txt /tests/golden/types-scope-store-shadow/types/txt
2235−/* src-609 %jibb /tests/golden/types-tuple-context/source/jibb
2235+/* src-609 %jibb /tests/golden/types-single-case-pattern/source/jibb
2236−/* tok-609 %txt /tests/golden/types-tuple-context/tokens/txt
2236+/* tok-609 %txt /tests/golden/types-single-case-pattern/tokens/txt
2237−/* tre-609 %txt /tests/golden/types-tuple-context/tree/txt
2237+/* tre-609 %txt /tests/golden/types-single-case-pattern/tree/txt
2238−/* typ-609 %txt /tests/golden/types-tuple-context/types/txt
2238+/* typ-609 %txt /tests/golden/types-single-case-pattern/types/txt
2239−/* src-610 %jibb /tests/golden/types-tuple-context-nested/source/jibb
2239+/* src-610 %jibb /tests/golden/types-string-interpolation/source/jibb
2240−/* tok-610 %txt /tests/golden/types-tuple-context-nested/tokens/txt
2240+/* tok-610 %txt /tests/golden/types-string-interpolation/tokens/txt
2241−/* tre-610 %txt /tests/golden/types-tuple-context-nested/tree/txt
2241+/* tre-610 %txt /tests/golden/types-string-interpolation/tree/txt
2242−/* typ-610 %txt /tests/golden/types-tuple-context-nested/types/txt
2242+/* typ-610 %txt /tests/golden/types-string-interpolation/types/txt
2243−/* src-611 %jibb /tests/golden/types-union-alias/source/jibb
2243+/* src-611 %jibb /tests/golden/types-tuple-context/source/jibb
2244−/* tok-611 %txt /tests/golden/types-union-alias/tokens/txt
2244+/* tok-611 %txt /tests/golden/types-tuple-context/tokens/txt
2245−/* tre-611 %txt /tests/golden/types-union-alias/tree/txt
2245+/* tre-611 %txt /tests/golden/types-tuple-context/tree/txt
2246−/* typ-611 %txt /tests/golden/types-union-alias/types/txt
2246+/* typ-611 %txt /tests/golden/types-tuple-context/types/txt
2247−/* src-612 %jibb /tests/golden/types-union-branch-context/source/jibb
2247+/* src-612 %jibb /tests/golden/types-tuple-context-nested/source/jibb
2248−/* tok-612 %txt /tests/golden/types-union-branch-context/tokens/txt
2248+/* tok-612 %txt /tests/golden/types-tuple-context-nested/tokens/txt
2249−/* tre-612 %txt /tests/golden/types-union-branch-context/tree/txt
2249+/* tre-612 %txt /tests/golden/types-tuple-context-nested/tree/txt
2250−/* typ-612 %txt /tests/golden/types-union-branch-context/types/txt
2250+/* typ-612 %txt /tests/golden/types-tuple-context-nested/types/txt
2251−/* src-613 %jibb /tests/golden/types-union-branch-pending/source/jibb
2251+/* src-613 %jibb /tests/golden/types-union-alias/source/jibb
2252−/* tok-613 %txt /tests/golden/types-union-branch-pending/tokens/txt
2252+/* tok-613 %txt /tests/golden/types-union-alias/tokens/txt
2253−/* tre-613 %txt /tests/golden/types-union-branch-pending/tree/txt
2253+/* tre-613 %txt /tests/golden/types-union-alias/tree/txt
2254−/* typ-613 %txt /tests/golden/types-union-branch-pending/types/txt
2254+/* typ-613 %txt /tests/golden/types-union-alias/types/txt
2255−/* src-614 %jibb /tests/golden/types-union-constructor-shape/source/jibb
2255+/* src-614 %jibb /tests/golden/types-union-branch-context/source/jibb
2256−/* tok-614 %txt /tests/golden/types-union-constructor-shape/tokens/txt
2256+/* tok-614 %txt /tests/golden/types-union-branch-context/tokens/txt
2257−/* tre-614 %txt /tests/golden/types-union-constructor-shape/tree/txt
2257+/* tre-614 %txt /tests/golden/types-union-branch-context/tree/txt
2258−/* typ-614 %txt /tests/golden/types-union-constructor-shape/types/txt
2258+/* typ-614 %txt /tests/golden/types-union-branch-context/types/txt
2259−/* src-615 %jibb /tests/golden/types-union-context-flow/source/jibb
2259+/* src-615 %jibb /tests/golden/types-union-branch-pending/source/jibb
2260−/* tok-615 %txt /tests/golden/types-union-context-flow/tokens/txt
2260+/* tok-615 %txt /tests/golden/types-union-branch-pending/tokens/txt
2261−/* tre-615 %txt /tests/golden/types-union-context-flow/tree/txt
2261+/* tre-615 %txt /tests/golden/types-union-branch-pending/tree/txt
2262−/* typ-615 %txt /tests/golden/types-union-context-flow/types/txt
2262+/* typ-615 %txt /tests/golden/types-union-branch-pending/types/txt
2263−/* src-616 %jibb /tests/golden/types-union-finite/source/jibb
2263+/* src-616 %jibb /tests/golden/types-union-constructor-shape/source/jibb
2264−/* tok-616 %txt /tests/golden/types-union-finite/tokens/txt
2264+/* tok-616 %txt /tests/golden/types-union-constructor-shape/tokens/txt
2265−/* tre-616 %txt /tests/golden/types-union-finite/tree/txt
2265+/* tre-616 %txt /tests/golden/types-union-constructor-shape/tree/txt
2266−/* typ-616 %txt /tests/golden/types-union-finite/types/txt
2266+/* typ-616 %txt /tests/golden/types-union-constructor-shape/types/txt
2267−/* src-617 %jibb /tests/golden/types-union-finite-context/source/jibb
2267+/* src-617 %jibb /tests/golden/types-union-context-flow/source/jibb
2268−/* tok-617 %txt /tests/golden/types-union-finite-context/tokens/txt
2268+/* tok-617 %txt /tests/golden/types-union-context-flow/tokens/txt
2269−/* tre-617 %txt /tests/golden/types-union-finite-context/tree/txt
2269+/* tre-617 %txt /tests/golden/types-union-context-flow/tree/txt
2270−/* typ-617 %txt /tests/golden/types-union-finite-context/types/txt
2270+/* typ-617 %txt /tests/golden/types-union-context-flow/types/txt
2271−/* src-618 %jibb /tests/golden/types-union-finite-generic/source/jibb
2271+/* src-618 %jibb /tests/golden/types-union-finite/source/jibb
2272−/* tok-618 %txt /tests/golden/types-union-finite-generic/tokens/txt
2272+/* tok-618 %txt /tests/golden/types-union-finite/tokens/txt
2273−/* tre-618 %txt /tests/golden/types-union-finite-generic/tree/txt
2273+/* tre-618 %txt /tests/golden/types-union-finite/tree/txt
2274−/* typ-618 %txt /tests/golden/types-union-finite-generic/types/txt
2274+/* typ-618 %txt /tests/golden/types-union-finite/types/txt
2275−/* src-619 %jibb /tests/golden/types-union-finite-limit/source/jibb
2275+/* src-619 %jibb /tests/golden/types-union-finite-context/source/jibb
2276−/* tok-619 %txt /tests/golden/types-union-finite-limit/tokens/txt
2276+/* tok-619 %txt /tests/golden/types-union-finite-context/tokens/txt
2277−/* tre-619 %txt /tests/golden/types-union-finite-limit/tree/txt
2277+/* tre-619 %txt /tests/golden/types-union-finite-context/tree/txt
2278−/* typ-619 %txt /tests/golden/types-union-finite-limit/types/txt
2278+/* typ-619 %txt /tests/golden/types-union-finite-context/types/txt
2279−/* src-620 %jibb /tests/golden/types-union-import/source/jibb
2279+/* src-620 %jibb /tests/golden/types-union-finite-generic/source/jibb
2280−/* tok-620 %txt /tests/golden/types-union-import/tokens/txt
2280+/* tok-620 %txt /tests/golden/types-union-finite-generic/tokens/txt
2281−/* tre-620 %txt /tests/golden/types-union-import/tree/txt
2281+/* tre-620 %txt /tests/golden/types-union-finite-generic/tree/txt
2282−/* mod-620-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
2282+/* typ-620 %txt /tests/golden/types-union-finite-generic/types/txt
2283−/* typ-620 %txt /tests/golden/types-union-import/types/txt
2283+/* src-621 %jibb /tests/golden/types-union-finite-limit/source/jibb
2284−/* mtre-620 %txt /tests/golden/types-union-import/module-trees/txt
2284+/* tok-621 %txt /tests/golden/types-union-finite-limit/tokens/txt
2285−/* src-621 %jibb /tests/golden/types-union-local-pending/source/jibb
2285+/* tre-621 %txt /tests/golden/types-union-finite-limit/tree/txt
2286−/* tok-621 %txt /tests/golden/types-union-local-pending/tokens/txt
2286+/* typ-621 %txt /tests/golden/types-union-finite-limit/types/txt
2287−/* tre-621 %txt /tests/golden/types-union-local-pending/tree/txt
2287+/* src-622 %jibb /tests/golden/types-union-import/source/jibb
2288−/* typ-621 %txt /tests/golden/types-union-local-pending/types/txt
2288+/* tok-622 %txt /tests/golden/types-union-import/tokens/txt
2289−/* src-622 %jibb /tests/golden/types-union-nonwing-subject/source/jibb
2289+/* tre-622 %txt /tests/golden/types-union-import/tree/txt
2290−/* tok-622 %txt /tests/golden/types-union-nonwing-subject/tokens/txt
2290+/* mod-622-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
2291−/* tre-622 %txt /tests/golden/types-union-nonwing-subject/tree/txt
2291+/* typ-622 %txt /tests/golden/types-union-import/types/txt
2292−/* typ-622 %txt /tests/golden/types-union-nonwing-subject/types/txt
2292+/* mtre-622 %txt /tests/golden/types-union-import/module-trees/txt
2293−/* src-623 %jibb /tests/golden/types-union-overlap/source/jibb
2293+/* src-623 %jibb /tests/golden/types-union-local-pending/source/jibb
2294−/* tok-623 %txt /tests/golden/types-union-overlap/tokens/txt
2294+/* tok-623 %txt /tests/golden/types-union-local-pending/tokens/txt
2295−/* tre-623 %txt /tests/golden/types-union-overlap/tree/txt
2295+/* tre-623 %txt /tests/golden/types-union-local-pending/tree/txt
2296−/* typ-623 %txt /tests/golden/types-union-overlap/types/txt
2296+/* typ-623 %txt /tests/golden/types-union-local-pending/types/txt
2297−/* src-624 %jibb /tests/golden/types-union-overlap-nested/source/jibb
2297+/* src-624 %jibb /tests/golden/types-union-nonwing-subject/source/jibb
2298−/* tok-624 %txt /tests/golden/types-union-overlap-nested/tokens/txt
2298+/* tok-624 %txt /tests/golden/types-union-nonwing-subject/tokens/txt
2299−/* tre-624 %txt /tests/golden/types-union-overlap-nested/tree/txt
2299+/* tre-624 %txt /tests/golden/types-union-nonwing-subject/tree/txt
2300−/* typ-624 %txt /tests/golden/types-union-overlap-nested/types/txt
2300+/* typ-624 %txt /tests/golden/types-union-nonwing-subject/types/txt
2301−/* src-625 %jibb /tests/golden/types-union-pattern-result-context/source/jibb
2301+/* src-625 %jibb /tests/golden/types-union-overlap/source/jibb
2302−/* tok-625 %txt /tests/golden/types-union-pattern-result-context/tokens/txt
2302+/* tok-625 %txt /tests/golden/types-union-overlap/tokens/txt
2303−/* tre-625 %txt /tests/golden/types-union-pattern-result-context/tree/txt
2303+/* tre-625 %txt /tests/golden/types-union-overlap/tree/txt
2304−/* typ-625 %txt /tests/golden/types-union-pattern-result-context/types/txt
2304+/* typ-625 %txt /tests/golden/types-union-overlap/types/txt
2305−/* src-626 %jibb /tests/golden/types-union-pattern-result-controls/source/jibb
2305+/* src-626 %jibb /tests/golden/types-union-overlap-nested/source/jibb
2306−/* tok-626 %txt /tests/golden/types-union-pattern-result-controls/tokens/txt
2306+/* tok-626 %txt /tests/golden/types-union-overlap-nested/tokens/txt
2307−/* tre-626 %txt /tests/golden/types-union-pattern-result-controls/tree/txt
2307+/* tre-626 %txt /tests/golden/types-union-overlap-nested/tree/txt
2308−/* typ-626 %txt /tests/golden/types-union-pattern-result-controls/types/txt
2308+/* typ-626 %txt /tests/golden/types-union-overlap-nested/types/txt
2309−/* src-627 %jibb /tests/golden/types-union-patterns/source/jibb
2309+/* src-627 %jibb /tests/golden/types-union-pattern-result-context/source/jibb
2310−/* tok-627 %txt /tests/golden/types-union-patterns/tokens/txt
2310+/* tok-627 %txt /tests/golden/types-union-pattern-result-context/tokens/txt
2311−/* tre-627 %txt /tests/golden/types-union-patterns/tree/txt
2311+/* tre-627 %txt /tests/golden/types-union-pattern-result-context/tree/txt
2312−/* typ-627 %txt /tests/golden/types-union-patterns/types/txt
2312+/* typ-627 %txt /tests/golden/types-union-pattern-result-context/types/txt
2313−/* src-628 %jibb /tests/golden/types-union-patterns-generic/source/jibb
2313+/* src-628 %jibb /tests/golden/types-union-pattern-result-controls/source/jibb
2314−/* tok-628 %txt /tests/golden/types-union-patterns-generic/tokens/txt
2314+/* tok-628 %txt /tests/golden/types-union-pattern-result-controls/tokens/txt
2315−/* tre-628 %txt /tests/golden/types-union-patterns-generic/tree/txt
2315+/* tre-628 %txt /tests/golden/types-union-pattern-result-controls/tree/txt
2316−/* typ-628 %txt /tests/golden/types-union-patterns-generic/types/txt
2316+/* typ-628 %txt /tests/golden/types-union-pattern-result-controls/types/txt
2317−/* src-629 %jibb /tests/golden/types-union-patterns-import/source/jibb
2317+/* src-629 %jibb /tests/golden/types-union-patterns/source/jibb
2318−/* tok-629 %txt /tests/golden/types-union-patterns-import/tokens/txt
2318+/* tok-629 %txt /tests/golden/types-union-patterns/tokens/txt
2319−/* tre-629 %txt /tests/golden/types-union-patterns-import/tree/txt
2319+/* tre-629 %txt /tests/golden/types-union-patterns/tree/txt
2320−/* mod-629-1 %jibb /tests/golden/types-union-patterns-import/modules/ui/lib/jibb
2320+/* typ-629 %txt /tests/golden/types-union-patterns/types/txt
2321−/* typ-629 %txt /tests/golden/types-union-patterns-import/types/txt
2321+/* src-630 %jibb /tests/golden/types-union-patterns-generic/source/jibb
2322−/* mtre-629 %txt /tests/golden/types-union-patterns-import/module-trees/txt
2322+/* tok-630 %txt /tests/golden/types-union-patterns-generic/tokens/txt
2323−/* src-630 %jibb /tests/golden/types-union-phantom-generic/source/jibb
2323+/* tre-630 %txt /tests/golden/types-union-patterns-generic/tree/txt
2324−/* tok-630 %txt /tests/golden/types-union-phantom-generic/tokens/txt
2324+/* typ-630 %txt /tests/golden/types-union-patterns-generic/types/txt
2325−/* tre-630 %txt /tests/golden/types-union-phantom-generic/tree/txt
2325+/* src-631 %jibb /tests/golden/types-union-patterns-import/source/jibb
2326−/* typ-630 %txt /tests/golden/types-union-phantom-generic/types/txt
2326+/* tok-631 %txt /tests/golden/types-union-patterns-import/tokens/txt
2327−/* src-631 %jibb /tests/golden/types-union-polymorphic-identity/source/jibb
2327+/* tre-631 %txt /tests/golden/types-union-patterns-import/tree/txt
2328−/* tok-631 %txt /tests/golden/types-union-polymorphic-identity/tokens/txt
2328+/* mod-631-1 %jibb /tests/golden/types-union-patterns-import/modules/ui/lib/jibb
2329−/* tre-631 %txt /tests/golden/types-union-polymorphic-identity/tree/txt
2329+/* typ-631 %txt /tests/golden/types-union-patterns-import/types/txt
2330−/* mod-631-1 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/one/jibb
2330+/* mtre-631 %txt /tests/golden/types-union-patterns-import/module-trees/txt
2331−/* mod-631-2 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/two/jibb
2331+/* src-632 %jibb /tests/golden/types-union-phantom-generic/source/jibb
2332−/* typ-631 %txt /tests/golden/types-union-polymorphic-identity/types/txt
2332+/* tok-632 %txt /tests/golden/types-union-phantom-generic/tokens/txt
2333−/* mtre-631 %txt /tests/golden/types-union-polymorphic-identity/module-trees/txt
2333+/* tre-632 %txt /tests/golden/types-union-phantom-generic/tree/txt
2334−/* src-632 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
2334+/* typ-632 %txt /tests/golden/types-union-phantom-generic/types/txt
2335−/* tok-632 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
2335+/* src-633 %jibb /tests/golden/types-union-polymorphic-identity/source/jibb
2336−/* tre-632 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
2336+/* tok-633 %txt /tests/golden/types-union-polymorphic-identity/tokens/txt
2337−/* mod-632-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
2337+/* tre-633 %txt /tests/golden/types-union-polymorphic-identity/tree/txt
2338−/* typ-632 %txt /tests/golden/types-union-print-cross-namespace/types/txt
2338+/* mod-633-1 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/one/jibb
2339−/* mtre-632 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
2339+/* mod-633-2 %jibb /tests/golden/types-union-polymorphic-identity/modules/ui/two/jibb
2340−/* src-633 %jibb /tests/golden/types-union-print-distinct/source/jibb
2340+/* typ-633 %txt /tests/golden/types-union-polymorphic-identity/types/txt
2341−/* tok-633 %txt /tests/golden/types-union-print-distinct/tokens/txt
2341+/* mtre-633 %txt /tests/golden/types-union-polymorphic-identity/module-trees/txt
2342−/* tre-633 %txt /tests/golden/types-union-print-distinct/tree/txt
2342+/* src-634 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
2343−/* mod-633-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
2343+/* tok-634 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
2344−/* mod-633-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
2344+/* tre-634 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
2345−/* mod-633-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
2345+/* mod-634-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
2346−/* typ-633 %txt /tests/golden/types-union-print-distinct/types/txt
2346+/* typ-634 %txt /tests/golden/types-union-print-cross-namespace/types/txt
2347−/* mtre-633 %txt /tests/golden/types-union-print-distinct/module-trees/txt
2347+/* mtre-634 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
2348−/* src-634 %jibb /tests/golden/types-union-print-escape/source/jibb
2348+/* src-635 %jibb /tests/golden/types-union-print-distinct/source/jibb
2349−/* tok-634 %txt /tests/golden/types-union-print-escape/tokens/txt
2349+/* tok-635 %txt /tests/golden/types-union-print-distinct/tokens/txt
2350−/* tre-634 %txt /tests/golden/types-union-print-escape/tree/txt
2350+/* tre-635 %txt /tests/golden/types-union-print-distinct/tree/txt
2351−/* typ-634 %txt /tests/golden/types-union-print-escape/types/txt
2351+/* mod-635-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
2352−/* src-635 %jibb /tests/golden/types-union-print-local/source/jibb
2352+/* mod-635-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
2353−/* tok-635 %txt /tests/golden/types-union-print-local/tokens/txt
2353+/* mod-635-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
2354−/* tre-635 %txt /tests/golden/types-union-print-local/tree/txt
2354+/* typ-635 %txt /tests/golden/types-union-print-distinct/types/txt
2355−/* typ-635 %txt /tests/golden/types-union-print-local/types/txt
2355+/* mtre-635 %txt /tests/golden/types-union-print-distinct/module-trees/txt
2356−/* src-636 %jibb /tests/golden/types-union-print-nested/source/jibb
2356+/* src-636 %jibb /tests/golden/types-union-print-escape/source/jibb
2357−/* tok-636 %txt /tests/golden/types-union-print-nested/tokens/txt
2357+/* tok-636 %txt /tests/golden/types-union-print-escape/tokens/txt
2358−/* tre-636 %txt /tests/golden/types-union-print-nested/tree/txt
2358+/* tre-636 %txt /tests/golden/types-union-print-escape/tree/txt
2359−/* typ-636 %txt /tests/golden/types-union-print-nested/types/txt
2359+/* typ-636 %txt /tests/golden/types-union-print-escape/types/txt
2360−/* src-637 %jibb /tests/golden/types-union-print-same-origin/source/jibb
2360+/* src-637 %jibb /tests/golden/types-union-print-local/source/jibb
2361−/* tok-637 %txt /tests/golden/types-union-print-same-origin/tokens/txt
2361+/* tok-637 %txt /tests/golden/types-union-print-local/tokens/txt
2362−/* tre-637 %txt /tests/golden/types-union-print-same-origin/tree/txt
2362+/* tre-637 %txt /tests/golden/types-union-print-local/tree/txt
2363−/* mod-637-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
2363+/* typ-637 %txt /tests/golden/types-union-print-local/types/txt
2364−/* typ-637 %txt /tests/golden/types-union-print-same-origin/types/txt
2364+/* src-638 %jibb /tests/golden/types-union-print-nested/source/jibb
2365−/* mtre-637 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
2365+/* tok-638 %txt /tests/golden/types-union-print-nested/tokens/txt
2366−/* src-638 %jibb /tests/golden/types-union-print-transitive/source/jibb
2366+/* tre-638 %txt /tests/golden/types-union-print-nested/tree/txt
2367−/* tok-638 %txt /tests/golden/types-union-print-transitive/tokens/txt
2367+/* typ-638 %txt /tests/golden/types-union-print-nested/types/txt
2368−/* tre-638 %txt /tests/golden/types-union-print-transitive/tree/txt
2368+/* src-639 %jibb /tests/golden/types-union-print-same-origin/source/jibb
2369−/* mod-638-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
2369+/* tok-639 %txt /tests/golden/types-union-print-same-origin/tokens/txt
2370−/* mod-638-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
2370+/* tre-639 %txt /tests/golden/types-union-print-same-origin/tree/txt
2371−/* typ-638 %txt /tests/golden/types-union-print-transitive/types/txt
2371+/* mod-639-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
2372−/* mtre-638 %txt /tests/golden/types-union-print-transitive/module-trees/txt
2372+/* typ-639 %txt /tests/golden/types-union-print-same-origin/types/txt
2373−/* src-639 %jibb /tests/golden/types-union-singleton/source/jibb
2373+/* mtre-639 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
2374−/* tok-639 %txt /tests/golden/types-union-singleton/tokens/txt
2374+/* src-640 %jibb /tests/golden/types-union-print-transitive/source/jibb
2375−/* tre-639 %txt /tests/golden/types-union-singleton/tree/txt
2375+/* tok-640 %txt /tests/golden/types-union-print-transitive/tokens/txt
2376−/* typ-639 %txt /tests/golden/types-union-singleton/types/txt
2376+/* tre-640 %txt /tests/golden/types-union-print-transitive/tree/txt
2377−/* src-640 %jibb /tests/golden/types-union-tag-atoms/source/jibb
2377+/* mod-640-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
2378−/* tok-640 %txt /tests/golden/types-union-tag-atoms/tokens/txt
2378+/* mod-640-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
2379−/* tre-640 %txt /tests/golden/types-union-tag-atoms/tree/txt
2379+/* typ-640 %txt /tests/golden/types-union-print-transitive/types/txt
2380−/* typ-640 %txt /tests/golden/types-union-tag-atoms/types/txt
2380+/* mtre-640 %txt /tests/golden/types-union-print-transitive/module-trees/txt
2381−/* src-641 %jibb /tests/golden/types-union-tags/source/jibb
2381+/* src-641 %jibb /tests/golden/types-union-singleton/source/jibb
2382−/* tok-641 %txt /tests/golden/types-union-tags/tokens/txt
2382+/* tok-641 %txt /tests/golden/types-union-singleton/tokens/txt
2383−/* tre-641 %txt /tests/golden/types-union-tags/tree/txt
2383+/* tre-641 %txt /tests/golden/types-union-singleton/tree/txt
2384−/* typ-641 %txt /tests/golden/types-union-tags/types/txt
2384+/* typ-641 %txt /tests/golden/types-union-singleton/types/txt
2385−/* src-642 %jibb /tests/golden/types-union-unresolved/source/jibb
2385+/* src-642 %jibb /tests/golden/types-union-tag-atoms/source/jibb
2386−/* tok-642 %txt /tests/golden/types-union-unresolved/tokens/txt
2386+/* tok-642 %txt /tests/golden/types-union-tag-atoms/tokens/txt
2387−/* tre-642 %txt /tests/golden/types-union-unresolved/tree/txt
2387+/* tre-642 %txt /tests/golden/types-union-tag-atoms/tree/txt
2388−/* typ-642 %txt /tests/golden/types-union-unresolved/types/txt
2388+/* typ-642 %txt /tests/golden/types-union-tag-atoms/types/txt
2389−/* src-643 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
2389+/* src-643 %jibb /tests/golden/types-union-tags/source/jibb
2390−/* tok-643 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
2390+/* tok-643 %txt /tests/golden/types-union-tags/tokens/txt
2391−/* tre-643 %txt /tests/golden/types-union-unresolved-flow/tree/txt
2391+/* tre-643 %txt /tests/golden/types-union-tags/tree/txt
2392−/* typ-643 %txt /tests/golden/types-union-unresolved-flow/types/txt
2392+/* typ-643 %txt /tests/golden/types-union-tags/types/txt
2393−/* src-644 %jibb /tests/golden/types-unit-construction/source/jibb
2393+/* src-644 %jibb /tests/golden/types-union-unresolved/source/jibb
2394−/* tok-644 %txt /tests/golden/types-unit-construction/tokens/txt
2394+/* tok-644 %txt /tests/golden/types-union-unresolved/tokens/txt
2395−/* tre-644 %txt /tests/golden/types-unit-construction/tree/txt
2395+/* tre-644 %txt /tests/golden/types-union-unresolved/tree/txt
2396−/* typ-644 %txt /tests/golden/types-unit-construction/types/txt
2396+/* typ-644 %txt /tests/golden/types-union-unresolved/types/txt
2397−/* src-645 %jibb /tests/golden/types-unit-context/source/jibb
2397+/* src-645 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
2398−/* tok-645 %txt /tests/golden/types-unit-context/tokens/txt
2398+/* tok-645 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
2399−/* tre-645 %txt /tests/golden/types-unit-context/tree/txt
2399+/* tre-645 %txt /tests/golden/types-union-unresolved-flow/tree/txt
2400−/* typ-645 %txt /tests/golden/types-unit-context/types/txt
2400+/* typ-645 %txt /tests/golden/types-union-unresolved-flow/types/txt
2401−/* src-646 %jibb /tests/golden/types-unit-patterns/source/jibb
2401+/* src-646 %jibb /tests/golden/types-unit-construction/source/jibb
2402−/* tok-646 %txt /tests/golden/types-unit-patterns/tokens/txt
2402+/* tok-646 %txt /tests/golden/types-unit-construction/tokens/txt
2403−/* tre-646 %txt /tests/golden/types-unit-patterns/tree/txt
2403+/* tre-646 %txt /tests/golden/types-unit-construction/tree/txt
2404−/* typ-646 %txt /tests/golden/types-unit-patterns/types/txt
2404+/* typ-646 %txt /tests/golden/types-unit-construction/types/txt
2405−/* src-647 %jibb /tests/golden/types-value-cycle-shadow/source/jibb
2405+/* src-647 %jibb /tests/golden/types-unit-context/source/jibb
2406−/* tok-647 %txt /tests/golden/types-value-cycle-shadow/tokens/txt
2406+/* tok-647 %txt /tests/golden/types-unit-context/tokens/txt
2407−/* tre-647 %txt /tests/golden/types-value-cycle-shadow/tree/txt
2407+/* tre-647 %txt /tests/golden/types-unit-context/tree/txt
2408−/* typ-647 %txt /tests/golden/types-value-cycle-shadow/types/txt
2408+/* typ-647 %txt /tests/golden/types-unit-context/types/txt
2409−/* src-648 %jibb /tests/golden/types-value-cycle-unsupported/source/jibb
2409+/* src-648 %jibb /tests/golden/types-unit-patterns/source/jibb
2410−/* tok-648 %txt /tests/golden/types-value-cycle-unsupported/tokens/txt
2410+/* tok-648 %txt /tests/golden/types-unit-patterns/tokens/txt
2411−/* tre-648 %txt /tests/golden/types-value-cycle-unsupported/tree/txt
2411+/* tre-648 %txt /tests/golden/types-unit-patterns/tree/txt
2412−/* typ-648 %txt /tests/golden/types-value-cycle-unsupported/types/txt
2412+/* typ-648 %txt /tests/golden/types-unit-patterns/types/txt
2413−/* src-649 %jibb /tests/golden/types-value-cycles/source/jibb
2413+/* src-649 %jibb /tests/golden/types-value-cycle-shadow/source/jibb
2414−/* tok-649 %txt /tests/golden/types-value-cycles/tokens/txt
2414+/* tok-649 %txt /tests/golden/types-value-cycle-shadow/tokens/txt
2415−/* tre-649 %txt /tests/golden/types-value-cycles/tree/txt
2415+/* tre-649 %txt /tests/golden/types-value-cycle-shadow/tree/txt
2416−/* typ-649 %txt /tests/golden/types-value-cycles/types/txt
2416+/* typ-649 %txt /tests/golden/types-value-cycle-shadow/types/txt
2417+/* src-650 %jibb /tests/golden/types-value-cycle-unsupported/source/jibb
2418+/* tok-650 %txt /tests/golden/types-value-cycle-unsupported/tokens/txt
2419+/* tre-650 %txt /tests/golden/types-value-cycle-unsupported/tree/txt
2420+/* typ-650 %txt /tests/golden/types-value-cycle-unsupported/types/txt
2421+/* src-651 %jibb /tests/golden/types-value-cycles/source/jibb
2422+/* tok-651 %txt /tests/golden/types-value-cycles/tokens/txt
2423+/* tre-651 %txt /tests/golden/types-value-cycles/tree/txt
2424+/* typ-651 %txt /tests/golden/types-value-cycles/types/txt
2417=/ prepared-prelude (prepare-prelude-with-internal:jibb prelude-source internal-source)
2425=/ prepared-prelude (prepare-prelude-with-internal:jibb prelude-source internal-source)
2418|%
2426|%
2419:: one arm per case
2427:: one arm per case
@@ -3478,244 +3486,248 @@
3478 (weld (check ~.types-partial-union-cases src-529 `tok-529 `tre-529) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-529 `typ-529))
3486 (weld (check ~.types-partial-union-cases src-529 `tok-529 `tre-529) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-529 `typ-529))
3479++ test-types-partial-union-edges
3487++ test-types-partial-union-edges
3480 (weld (check ~.types-partial-union-edges src-530 `tok-530 `tre-530) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-530 `typ-530))
3488 (weld (check ~.types-partial-union-edges src-530 `tok-530 `tre-530) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-530 `typ-530))
3489+++ test-types-partial-union-nested-nouns
3490+ (weld (check ~.types-partial-union-nested-nouns src-531 `tok-531 `tre-531) (check-types ~.types-partial-union-nested-nouns ~[%tests %golden ~.types-partial-union-nested-nouns %source %jibb] src-531 `typ-531))
3481++ test-types-partial-unresolved-tag
3491++ test-types-partial-unresolved-tag
3482− (weld (check ~.types-partial-unresolved-tag src-531 `tok-531 `tre-531) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-531 `typ-531))
3492+ (weld (check ~.types-partial-unresolved-tag src-532 `tok-532 `tre-532) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-532 `typ-532))
3483++ test-types-positional-faces
3493++ test-types-positional-faces
3484− (weld (check ~.types-positional-faces src-532 `tok-532 `tre-532) (check-types ~.types-positional-faces ~[%tests %golden ~.types-positional-faces %source %jibb] src-532 `typ-532))
3494+ (weld (check ~.types-positional-faces src-533 `tok-533 `tre-533) (check-types ~.types-positional-faces ~[%tests %golden ~.types-positional-faces %source %jibb] src-533 `typ-533))
3485++ test-types-prelude-arithmetic
3495++ test-types-prelude-arithmetic
3486− (weld (check ~.types-prelude-arithmetic src-533 `tok-533 `tre-533) (check-module-types ~.types-prelude-arithmetic ~[%tests %golden ~.types-prelude-arithmetic %source %jibb] src-533 `typ-533 ~ ~ ~))
3496+ (weld (check ~.types-prelude-arithmetic src-534 `tok-534 `tre-534) (check-module-types ~.types-prelude-arithmetic ~[%tests %golden ~.types-prelude-arithmetic %source %jibb] src-534 `typ-534 ~ ~ ~))
3487++ test-types-prelude-ask
3497++ test-types-prelude-ask
3488− (weld (check ~.types-prelude-ask src-534 `tok-534 `tre-534) (check-module-types ~.types-prelude-ask ~[%tests %golden ~.types-prelude-ask %source %jibb] src-534 `typ-534 ~ ~ ~))
3498+ (weld (check ~.types-prelude-ask src-535 `tok-535 `tre-535) (check-module-types ~.types-prelude-ask ~[%tests %golden ~.types-prelude-ask %source %jibb] src-535 `typ-535 ~ ~ ~))
3489++ test-types-prelude-bond
3499++ test-types-prelude-bond
3490− (weld (check ~.types-prelude-bond src-535 `tok-535 `tre-535) (check-module-types ~.types-prelude-bond ~[%tests %golden ~.types-prelude-bond %source %jibb] src-535 `typ-535 ~ ~ ~))
3500+ (weld (check ~.types-prelude-bond src-536 `tok-536 `tre-536) (check-module-types ~.types-prelude-bond ~[%tests %golden ~.types-prelude-bond %source %jibb] src-536 `typ-536 ~ ~ ~))
3491++ test-types-prelude-cmd
3501++ test-types-prelude-cmd
3492− (weld (check ~.types-prelude-cmd src-536 `tok-536 `tre-536) (check-module-types ~.types-prelude-cmd ~[%tests %golden ~.types-prelude-cmd %source %jibb] src-536 `typ-536 ~ ~ ~))
3502+ (weld (check ~.types-prelude-cmd src-537 `tok-537 `tre-537) (check-module-types ~.types-prelude-cmd ~[%tests %golden ~.types-prelude-cmd %source %jibb] src-537 `typ-537 ~ ~ ~))
3493++ test-types-prelude-direct
3503++ test-types-prelude-direct
3494− (weld (check ~.types-prelude-direct src-537 `tok-537 `tre-537) (check-module-types ~.types-prelude-direct ~[%tests %golden ~.types-prelude-direct %source %jibb] src-537 `typ-537 ~ ~ ~))
3504+ (weld (check ~.types-prelude-direct src-538 `tok-538 `tre-538) (check-module-types ~.types-prelude-direct ~[%tests %golden ~.types-prelude-direct %source %jibb] src-538 `typ-538 ~ ~ ~))
3495++ test-types-prelude-functional
3505++ test-types-prelude-functional
3496− (weld (check ~.types-prelude-functional src-538 `tok-538 `tre-538) (check-module-types ~.types-prelude-functional ~[%tests %golden ~.types-prelude-functional %source %jibb] src-538 `typ-538 ~ ~ ~))
3506+ (weld (check ~.types-prelude-functional src-539 `tok-539 `tre-539) (check-module-types ~.types-prelude-functional ~[%tests %golden ~.types-prelude-functional %source %jibb] src-539 `typ-539 ~ ~ ~))
3497++ test-types-prelude-generic-alias
3507++ test-types-prelude-generic-alias
3498− (weld (weld (check ~.types-prelude-generic-alias src-539 `tok-539 `tre-539) (check-module-types ~.types-prelude-generic-alias ~[%tests %golden ~.types-prelude-generic-alias %source %jibb] src-539 `typ-539 ~ ~ ~[['/ui/alias-helper.jibb' ~[~.ui ~.alias-helper ~.jibb] mod-539-1]])) (check-module-trees ~.types-prelude-generic-alias `mtre-539 ~[['/ui/alias-helper.jibb' ~[~.ui ~.alias-helper ~.jibb] mod-539-1]]))
3508+ (weld (weld (check ~.types-prelude-generic-alias src-540 `tok-540 `tre-540) (check-module-types ~.types-prelude-generic-alias ~[%tests %golden ~.types-prelude-generic-alias %source %jibb] src-540 `typ-540 ~ ~ ~[['/ui/alias-helper.jibb' ~[~.ui ~.alias-helper ~.jibb] mod-540-1]])) (check-module-trees ~.types-prelude-generic-alias `mtre-540 ~[['/ui/alias-helper.jibb' ~[~.ui ~.alias-helper ~.jibb] mod-540-1]]))
3499++ test-types-prelude-interface
3509++ test-types-prelude-interface
3500− (weld (weld (check ~.types-prelude-interface src-540 `tok-540 `tre-540) (check-module-types ~.types-prelude-interface ~[%tests %golden ~.types-prelude-interface %source %jibb] src-540 `typ-540 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-540-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-540-2]])) (check-module-trees ~.types-prelude-interface `mtre-540 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-540-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-540-2]]))
3510+ (weld (weld (check ~.types-prelude-interface src-541 `tok-541 `tre-541) (check-module-types ~.types-prelude-interface ~[%tests %golden ~.types-prelude-interface %source %jibb] src-541 `typ-541 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-541-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-541-2]])) (check-module-trees ~.types-prelude-interface `mtre-541 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-541-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-541-2]]))
3511+++ test-types-prelude-lent
3512+ (weld (check ~.types-prelude-lent src-542 `tok-542 `tre-542) (check-module-types ~.types-prelude-lent ~[%tests %golden ~.types-prelude-lent %source %jibb] src-542 `typ-542 ~ ~ ~))
3501++ test-types-prelude-like
3513++ test-types-prelude-like
3502− (weld (check ~.types-prelude-like src-541 `tok-541 `tre-541) (check-module-types ~.types-prelude-like ~[%tests %golden ~.types-prelude-like %source %jibb] src-541 `typ-541 ~ ~ ~))
3514+ (weld (check ~.types-prelude-like src-543 `tok-543 `tre-543) (check-module-types ~.types-prelude-like ~[%tests %golden ~.types-prelude-like %source %jibb] src-543 `typ-543 ~ ~ ~))
3503++ test-types-prelude-list-alias
3515++ test-types-prelude-list-alias
3504− (weld (check ~.types-prelude-list-alias src-542 `tok-542 `tre-542) (check-module-types ~.types-prelude-list-alias ~[%tests %golden ~.types-prelude-list-alias %source %jibb] src-542 `typ-542 ~ ~ ~))
3516+ (weld (check ~.types-prelude-list-alias src-544 `tok-544 `tre-544) (check-module-types ~.types-prelude-list-alias ~[%tests %golden ~.types-prelude-list-alias %source %jibb] src-544 `typ-544 ~ ~ ~))
3505++ test-types-prelude-list-functions
3517++ test-types-prelude-list-functions
3506− (weld (weld (check ~.types-prelude-list-functions src-543 `tok-543 `tre-543) (check-module-types ~.types-prelude-list-functions ~[%tests %golden ~.types-prelude-list-functions %source %jibb] src-543 `typ-543 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-543-1]])) (check-module-trees ~.types-prelude-list-functions `mtre-543 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-543-1]]))
3518+ (weld (weld (check ~.types-prelude-list-functions src-545 `tok-545 `tre-545) (check-module-types ~.types-prelude-list-functions ~[%tests %golden ~.types-prelude-list-functions %source %jibb] src-545 `typ-545 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-545-1]])) (check-module-trees ~.types-prelude-list-functions `mtre-545 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-545-1]]))
3507++ test-types-prelude-list-helpers
3519++ test-types-prelude-list-helpers
3508− (weld (check ~.types-prelude-list-helpers src-544 `tok-544 `tre-544) (check-module-types ~.types-prelude-list-helpers ~[%tests %golden ~.types-prelude-list-helpers %source %jibb] src-544 `typ-544 ~ ~ ~))
3520+ (weld (check ~.types-prelude-list-helpers src-546 `tok-546 `tre-546) (check-module-types ~.types-prelude-list-helpers ~[%tests %golden ~.types-prelude-list-helpers %source %jibb] src-546 `typ-546 ~ ~ ~))
3509++ test-types-prelude-predicates
3521++ test-types-prelude-predicates
3510− (weld (check ~.types-prelude-predicates src-545 `tok-545 `tre-545) (check-module-types ~.types-prelude-predicates ~[%tests %golden ~.types-prelude-predicates %source %jibb] src-545 `typ-545 ~ ~ ~))
3522+ (weld (check ~.types-prelude-predicates src-547 `tok-547 `tre-547) (check-module-types ~.types-prelude-predicates ~[%tests %golden ~.types-prelude-predicates %source %jibb] src-547 `typ-547 ~ ~ ~))
3511++ test-types-prelude-sub
3523++ test-types-prelude-sub
3512− (weld (check ~.types-prelude-sub src-546 `tok-546 `tre-546) (check-module-types ~.types-prelude-sub ~[%tests %golden ~.types-prelude-sub %source %jibb] src-546 `typ-546 ~ ~ ~))
3524+ (weld (check ~.types-prelude-sub src-548 `tok-548 `tre-548) (check-module-types ~.types-prelude-sub ~[%tests %golden ~.types-prelude-sub %source %jibb] src-548 `typ-548 ~ ~ ~))
3513++ test-types-prelude-sub-nested
3525++ test-types-prelude-sub-nested
3514− (weld (check ~.types-prelude-sub-nested src-547 `tok-547 `tre-547) (check-module-types ~.types-prelude-sub-nested ~[%tests %golden ~.types-prelude-sub-nested %source %jibb] src-547 `typ-547 ~ ~ ~))
3526+ (weld (check ~.types-prelude-sub-nested src-549 `tok-549 `tre-549) (check-module-types ~.types-prelude-sub-nested ~[%tests %golden ~.types-prelude-sub-nested %source %jibb] src-549 `typ-549 ~ ~ ~))
3515++ test-types-prelude-unit-helpers
3527++ test-types-prelude-unit-helpers
3516− (weld (check ~.types-prelude-unit-helpers src-548 `tok-548 `tre-548) (check-module-types ~.types-prelude-unit-helpers ~[%tests %golden ~.types-prelude-unit-helpers %source %jibb] src-548 `typ-548 ~ ~ ~))
3528+ (weld (check ~.types-prelude-unit-helpers src-550 `tok-550 `tre-550) (check-module-types ~.types-prelude-unit-helpers ~[%tests %golden ~.types-prelude-unit-helpers %source %jibb] src-550 `typ-550 ~ ~ ~))
3517++ test-types-proj-explicit-context
3529++ test-types-proj-explicit-context
3518− (weld (check ~.types-proj-explicit-context src-549 `tok-549 `tre-549) (check-module-types ~.types-proj-explicit-context ~[%tests %golden ~.types-proj-explicit-context %source %jibb] src-549 `typ-549 ~ ~ ~))
3530+ (weld (check ~.types-proj-explicit-context src-551 `tok-551 `tre-551) (check-module-types ~.types-proj-explicit-context ~[%tests %golden ~.types-proj-explicit-context %source %jibb] src-551 `typ-551 ~ ~ ~))
3519++ test-types-proj-nested-no-implicit
3531++ test-types-proj-nested-no-implicit
3520− (weld (check ~.types-proj-nested-no-implicit src-550 `tok-550 `tre-550) (check-module-types ~.types-proj-nested-no-implicit ~[%tests %golden ~.types-proj-nested-no-implicit %source %jibb] src-550 `typ-550 ~ ~ ~))
3532+ (weld (check ~.types-proj-nested-no-implicit src-552 `tok-552 `tre-552) (check-module-types ~.types-proj-nested-no-implicit ~[%tests %golden ~.types-proj-nested-no-implicit %source %jibb] src-552 `typ-552 ~ ~ ~))
3521++ test-types-proj-reserved-imported-definition
3533++ test-types-proj-reserved-imported-definition
3522− (weld (weld (check ~.types-proj-reserved-imported-definition src-551 `tok-551 `tre-551) (check-module-types ~.types-proj-reserved-imported-definition ~[%tests %golden ~.types-proj-reserved-imported-definition %source %jibb] src-551 `typ-551 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-551-1]])) (check-module-trees ~.types-proj-reserved-imported-definition `mtre-551 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-551-1]]))
3534+ (weld (weld (check ~.types-proj-reserved-imported-definition src-553 `tok-553 `tre-553) (check-module-types ~.types-proj-reserved-imported-definition ~[%tests %golden ~.types-proj-reserved-imported-definition %source %jibb] src-553 `typ-553 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-553-1]])) (check-module-trees ~.types-proj-reserved-imported-definition `mtre-553 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-553-1]]))
3523++ test-types-proj-reserved-jibb-import
3535++ test-types-proj-reserved-jibb-import
3524− (weld (weld (check ~.types-proj-reserved-jibb-import src-552 `tok-552 `tre-552) (check-module-types ~.types-proj-reserved-jibb-import ~[%tests %golden ~.types-proj-reserved-jibb-import %source %jibb] src-552 `typ-552 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-552-1]])) (check-module-trees ~.types-proj-reserved-jibb-import `mtre-552 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-552-1]]))
3536+ (weld (weld (check ~.types-proj-reserved-jibb-import src-554 `tok-554 `tre-554) (check-module-types ~.types-proj-reserved-jibb-import ~[%tests %golden ~.types-proj-reserved-jibb-import %source %jibb] src-554 `typ-554 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-554-1]])) (check-module-trees ~.types-proj-reserved-jibb-import `mtre-554 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-554-1]]))
3525++ test-types-proj-reserved-local
3537++ test-types-proj-reserved-local
3526− (weld (check ~.types-proj-reserved-local src-553 `tok-553 `tre-553) (check-module-types ~.types-proj-reserved-local ~[%tests %golden ~.types-proj-reserved-local %source %jibb] src-553 `typ-553 ~ ~ ~))
3538+ (weld (check ~.types-proj-reserved-local src-555 `tok-555 `tre-555) (check-module-types ~.types-proj-reserved-local ~[%tests %golden ~.types-proj-reserved-local %source %jibb] src-555 `typ-555 ~ ~ ~))
3527++ test-types-proj-reserved-local-mold
3539++ test-types-proj-reserved-local-mold
3528− (weld (check ~.types-proj-reserved-local-mold src-554 `tok-554 `tre-554) (check-module-types ~.types-proj-reserved-local-mold ~[%tests %golden ~.types-proj-reserved-local-mold %source %jibb] src-554 `typ-554 ~ ~ ~))
3540+ (weld (check ~.types-proj-reserved-local-mold src-556 `tok-556 `tre-556) (check-module-types ~.types-proj-reserved-local-mold ~[%tests %golden ~.types-proj-reserved-local-mold %source %jibb] src-556 `typ-556 ~ ~ ~))
3529++ test-types-proj-reserved-mark-import
3541++ test-types-proj-reserved-mark-import
3530− (weld (check ~.types-proj-reserved-mark-import src-555 `tok-555 `tre-555) (check-module-types ~.types-proj-reserved-mark-import ~[%tests %golden ~.types-proj-reserved-mark-import %source %jibb] src-555 `typ-555 ~ ~ ~))
3542+ (weld (check ~.types-proj-reserved-mark-import src-557 `tok-557 `tre-557) (check-module-types ~.types-proj-reserved-mark-import ~[%tests %golden ~.types-proj-reserved-mark-import %source %jibb] src-557 `typ-557 ~ ~ ~))
3531++ test-types-proj-reserved-mold
3543++ test-types-proj-reserved-mold
3532− (weld (check ~.types-proj-reserved-mold src-556 `tok-556 `tre-556) (check-module-types ~.types-proj-reserved-mold ~[%tests %golden ~.types-proj-reserved-mold %source %jibb] src-556 `typ-556 ~ ~ ~))
3544+ (weld (check ~.types-proj-reserved-mold src-558 `tok-558 `tre-558) (check-module-types ~.types-proj-reserved-mold ~[%tests %golden ~.types-proj-reserved-mold %source %jibb] src-558 `typ-558 ~ ~ ~))
3533++ test-types-proj-reserved-pattern
3545++ test-types-proj-reserved-pattern
3534− (weld (check ~.types-proj-reserved-pattern src-557 `tok-557 `tre-557) (check-module-types ~.types-proj-reserved-pattern ~[%tests %golden ~.types-proj-reserved-pattern %source %jibb] src-557 `typ-557 ~ ~ ~))
3546+ (weld (check ~.types-proj-reserved-pattern src-559 `tok-559 `tre-559) (check-module-types ~.types-proj-reserved-pattern ~[%tests %golden ~.types-proj-reserved-pattern %source %jibb] src-559 `typ-559 ~ ~ ~))
3535++ test-types-proj-reserved-positive
3547++ test-types-proj-reserved-positive
3536− (weld (check ~.types-proj-reserved-positive src-558 `tok-558 `tre-558) (check-module-types ~.types-proj-reserved-positive ~[%tests %golden ~.types-proj-reserved-positive %source %jibb] src-558 `typ-558 ~ ~ ~))
3548+ (weld (check ~.types-proj-reserved-positive src-560 `tok-560 `tre-560) (check-module-types ~.types-proj-reserved-positive ~[%tests %golden ~.types-proj-reserved-positive %source %jibb] src-560 `typ-560 ~ ~ ~))
3537++ test-types-proj-reserved-sample
3549++ test-types-proj-reserved-sample
3538− (weld (check ~.types-proj-reserved-sample src-559 `tok-559 `tre-559) (check-module-types ~.types-proj-reserved-sample ~[%tests %golden ~.types-proj-reserved-sample %source %jibb] src-559 `typ-559 ~ ~ ~))
3550+ (weld (check ~.types-proj-reserved-sample src-561 `tok-561 `tre-561) (check-module-types ~.types-proj-reserved-sample ~[%tests %golden ~.types-proj-reserved-sample %source %jibb] src-561 `typ-561 ~ ~ ~))
3539++ test-types-proj-reserved-sur-import
3551++ test-types-proj-reserved-sur-import
3540− (weld (check ~.types-proj-reserved-sur-import src-560 `tok-560 `tre-560) (check-module-types ~.types-proj-reserved-sur-import ~[%tests %golden ~.types-proj-reserved-sur-import %source %jibb] src-560 `typ-560 ~ ~ ~))
3552+ (weld (check ~.types-proj-reserved-sur-import src-562 `tok-562 `tre-562) (check-module-types ~.types-proj-reserved-sur-import ~[%tests %golden ~.types-proj-reserved-sur-import %source %jibb] src-562 `typ-562 ~ ~ ~))
3541++ test-types-proj-reserved-unused-pattern
3553++ test-types-proj-reserved-unused-pattern
3542− (weld (check ~.types-proj-reserved-unused-pattern src-561 `tok-561 `tre-561) (check-module-types ~.types-proj-reserved-unused-pattern ~[%tests %golden ~.types-proj-reserved-unused-pattern %source %jibb] src-561 `typ-561 ~ ~ ~))
3554+ (weld (check ~.types-proj-reserved-unused-pattern src-563 `tok-563 `tre-563) (check-module-types ~.types-proj-reserved-unused-pattern ~[%tests %golden ~.types-proj-reserved-unused-pattern %source %jibb] src-563 `typ-563 ~ ~ ~))
3543++ test-types-proj-reserved-unused-sample
3555++ test-types-proj-reserved-unused-sample
3544− (weld (check ~.types-proj-reserved-unused-sample src-562 `tok-562 `tre-562) (check-module-types ~.types-proj-reserved-unused-sample ~[%tests %golden ~.types-proj-reserved-unused-sample %source %jibb] src-562 `typ-562 ~ ~ ~))
3556+ (weld (check ~.types-proj-reserved-unused-sample src-564 `tok-564 `tre-564) (check-module-types ~.types-proj-reserved-unused-sample ~[%tests %golden ~.types-proj-reserved-unused-sample %source %jibb] src-564 `typ-564 ~ ~ ~))
3545++ test-types-proj-reserved-unused-value
3557++ test-types-proj-reserved-unused-value
3546− (weld (check ~.types-proj-reserved-unused-value src-563 `tok-563 `tre-563) (check-module-types ~.types-proj-reserved-unused-value ~[%tests %golden ~.types-proj-reserved-unused-value %source %jibb] src-563 `typ-563 ~ ~ ~))
3558+ (weld (check ~.types-proj-reserved-unused-value src-565 `tok-565 `tre-565) (check-module-types ~.types-proj-reserved-unused-value ~[%tests %golden ~.types-proj-reserved-unused-value %source %jibb] src-565 `typ-565 ~ ~ ~))
3547++ test-types-proj-reserved-value
3559++ test-types-proj-reserved-value
3548− (weld (check ~.types-proj-reserved-value src-564 `tok-564 `tre-564) (check-module-types ~.types-proj-reserved-value ~[%tests %golden ~.types-proj-reserved-value %source %jibb] src-564 `typ-564 ~ ~ ~))
3560+ (weld (check ~.types-proj-reserved-value src-566 `tok-566 `tre-566) (check-module-types ~.types-proj-reserved-value ~[%tests %golden ~.types-proj-reserved-value %source %jibb] src-566 `typ-566 ~ ~ ~))
3549++ test-types-proj-single-duplicate
3561++ test-types-proj-single-duplicate
3550− (weld (check ~.types-proj-single-duplicate src-565 `tok-565 `tre-565) (check-module-types ~.types-proj-single-duplicate ~[%tests %golden ~.types-proj-single-duplicate %source %jibb] src-565 `typ-565 ~ ~ ~))
3562+ (weld (check ~.types-proj-single-duplicate src-567 `tok-567 `tre-567) (check-module-types ~.types-proj-single-duplicate ~[%tests %golden ~.types-proj-single-duplicate %source %jibb] src-567 `typ-567 ~ ~ ~))
3551++ test-types-proj-single-field
3563++ test-types-proj-single-field
3552− (weld (check ~.types-proj-single-field src-566 `tok-566 `tre-566) (check-module-types ~.types-proj-single-field ~[%tests %golden ~.types-proj-single-field %source %jibb] src-566 `typ-566 ~ ~ ~))
3564+ (weld (check ~.types-proj-single-field src-568 `tok-568 `tre-568) (check-module-types ~.types-proj-single-field ~[%tests %golden ~.types-proj-single-field %source %jibb] src-568 `typ-568 ~ ~ ~))
3553++ test-types-proj-single-sample-face
3565++ test-types-proj-single-sample-face
3554− (weld (check ~.types-proj-single-sample-face src-567 `tok-567 `tre-567) (check-module-types ~.types-proj-single-sample-face ~[%tests %golden ~.types-proj-single-sample-face %source %jibb] src-567 `typ-567 ~ ~ ~))
3566+ (weld (check ~.types-proj-single-sample-face src-569 `tok-569 `tre-569) (check-module-types ~.types-proj-single-sample-face ~[%tests %golden ~.types-proj-single-sample-face %source %jibb] src-569 `typ-569 ~ ~ ~))
3555++ test-types-proj-single-wrapped
3567++ test-types-proj-single-wrapped
3556− (weld (check ~.types-proj-single-wrapped src-568 `tok-568 `tre-568) (check-module-types ~.types-proj-single-wrapped ~[%tests %golden ~.types-proj-single-wrapped %source %jibb] src-568 `typ-568 ~ ~ ~))
3568+ (weld (check ~.types-proj-single-wrapped src-570 `tok-570 `tre-570) (check-module-types ~.types-proj-single-wrapped ~[%tests %golden ~.types-proj-single-wrapped %source %jibb] src-570 `typ-570 ~ ~ ~))
3557++ test-types-qath-faces
3569++ test-types-qath-faces
3558− (weld (check ~.types-qath-faces src-569 `tok-569 `tre-569) (check-module-types ~.types-qath-faces ~[%tests %golden ~.types-qath-faces %source %jibb] src-569 `typ-569 ~ ~ ~))
3570+ (weld (check ~.types-qath-faces src-571 `tok-571 `tre-571) (check-module-types ~.types-qath-faces ~[%tests %golden ~.types-qath-faces %source %jibb] src-571 `typ-571 ~ ~ ~))
3559++ test-types-qath-holes
3571++ test-types-qath-holes
3560− (weld (check ~.types-qath-holes src-570 `tok-570 `tre-570) (check-module-types ~.types-qath-holes ~[%tests %golden ~.types-qath-holes %source %jibb] src-570 `typ-570 ~ ~ ~))
3572+ (weld (check ~.types-qath-holes src-572 `tok-572 `tre-572) (check-module-types ~.types-qath-holes ~[%tests %golden ~.types-qath-holes %source %jibb] src-572 `typ-572 ~ ~ ~))
3561++ test-types-qath-module-identity
3573++ test-types-qath-module-identity
3562− (weld (weld (check ~.types-qath-module-identity src-571 `tok-571 `tre-571) (check-module-types ~.types-qath-module-identity ~[%tests %golden ~.types-qath-module-identity %source %jibb] src-571 `typ-571 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-571-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-571-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-571-3]])) (check-module-trees ~.types-qath-module-identity `mtre-571 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-571-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-571-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-571-3]]))
3574+ (weld (weld (check ~.types-qath-module-identity src-573 `tok-573 `tre-573) (check-module-types ~.types-qath-module-identity ~[%tests %golden ~.types-qath-module-identity %source %jibb] src-573 `typ-573 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-573-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-573-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-573-3]])) (check-module-trees ~.types-qath-module-identity `mtre-573 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-573-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-573-2] ['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-573-3]]))
3563++ test-types-qath-recursive
3575++ test-types-qath-recursive
3564− (weld (check ~.types-qath-recursive src-572 `tok-572 `tre-572) (check-module-types ~.types-qath-recursive ~[%tests %golden ~.types-qath-recursive %source %jibb] src-572 `typ-572 ~ ~ ~))
3576+ (weld (check ~.types-qath-recursive src-574 `tok-574 `tre-574) (check-module-types ~.types-qath-recursive ~[%tests %golden ~.types-qath-recursive %source %jibb] src-574 `typ-574 ~ ~ ~))
3565++ test-types-record-bound-variable
3577++ test-types-record-bound-variable
3566− (weld (check ~.types-record-bound-variable src-573 `tok-573 `tre-573) (check-types ~.types-record-bound-variable ~[%tests %golden ~.types-record-bound-variable %source %jibb] src-573 `typ-573))
3578+ (weld (check ~.types-record-bound-variable src-575 `tok-575 `tre-575) (check-types ~.types-record-bound-variable ~[%tests %golden ~.types-record-bound-variable %source %jibb] src-575 `typ-575))
3567++ test-types-record-cast-context
3579++ test-types-record-cast-context
3568− (weld (check ~.types-record-cast-context src-574 `tok-574 `tre-574) (check-module-types ~.types-record-cast-context ~[%tests %golden ~.types-record-cast-context %source %jibb] src-574 `typ-574 ~ ~ ~))
3580+ (weld (check ~.types-record-cast-context src-576 `tok-576 `tre-576) (check-module-types ~.types-record-cast-context ~[%tests %golden ~.types-record-cast-context %source %jibb] src-576 `typ-576 ~ ~ ~))
3569++ test-types-record-change
3581++ test-types-record-change
3570− (weld (check ~.types-record-change src-575 `tok-575 `tre-575) (check-module-types ~.types-record-change ~[%tests %golden ~.types-record-change %source %jibb] src-575 `typ-575 ~ ~ ~))
3582+ (weld (check ~.types-record-change src-577 `tok-577 `tre-577) (check-module-types ~.types-record-change ~[%tests %golden ~.types-record-change %source %jibb] src-577 `typ-577 ~ ~ ~))
3571++ test-types-record-change-generic
3583++ test-types-record-change-generic
3572− (weld (check ~.types-record-change-generic src-576 `tok-576 `tre-576) (check-module-types ~.types-record-change-generic ~[%tests %golden ~.types-record-change-generic %source %jibb] src-576 `typ-576 ~ ~ ~))
3584+ (weld (check ~.types-record-change-generic src-578 `tok-578 `tre-578) (check-module-types ~.types-record-change-generic ~[%tests %golden ~.types-record-change-generic %source %jibb] src-578 `typ-578 ~ ~ ~))
3573++ test-types-record-faces
3585++ test-types-record-faces
3574− (weld (check ~.types-record-faces src-577 `tok-577 `tre-577) (check-types ~.types-record-faces ~[%tests %golden ~.types-record-faces %source %jibb] src-577 `typ-577))
3586+ (weld (check ~.types-record-faces src-579 `tok-579 `tre-579) (check-types ~.types-record-faces ~[%tests %golden ~.types-record-faces %source %jibb] src-579 `typ-579))
3575++ test-types-record-field-edit-separate
3587++ test-types-record-field-edit-separate
3576− (weld (check ~.types-record-field-edit-separate src-578 `tok-578 `tre-578) (check-types ~.types-record-field-edit-separate ~[%tests %golden ~.types-record-field-edit-separate %source %jibb] src-578 `typ-578))
3588+ (weld (check ~.types-record-field-edit-separate src-580 `tok-580 `tre-580) (check-types ~.types-record-field-edit-separate ~[%tests %golden ~.types-record-field-edit-separate %source %jibb] src-580 `typ-580))
3577++ test-types-record-field-expr-duplicate
3589++ test-types-record-field-expr-duplicate
3578− (weld (check ~.types-record-field-expr-duplicate src-579 `tok-579 `tre-579) (check-types ~.types-record-field-expr-duplicate ~[%tests %golden ~.types-record-field-expr-duplicate %source %jibb] src-579 `typ-579))
3590+ (weld (check ~.types-record-field-expr-duplicate src-581 `tok-581 `tre-581) (check-types ~.types-record-field-expr-duplicate ~[%tests %golden ~.types-record-field-expr-duplicate %source %jibb] src-581 `typ-581))
3579++ test-types-record-field-expr-separate
3591++ test-types-record-field-expr-separate
3580− (weld (check ~.types-record-field-expr-separate src-580 `tok-580 `tre-580) (check-types ~.types-record-field-expr-separate ~[%tests %golden ~.types-record-field-expr-separate %source %jibb] src-580 `typ-580))
3592+ (weld (check ~.types-record-field-expr-separate src-582 `tok-582 `tre-582) (check-types ~.types-record-field-expr-separate ~[%tests %golden ~.types-record-field-expr-separate %source %jibb] src-582 `typ-582))
3581++ test-types-record-field-module-reachable
3593++ test-types-record-field-module-reachable
3582− (weld (weld (check ~.types-record-field-module-reachable src-581 `tok-581 `tre-581) (check-module-types ~.types-record-field-module-reachable ~[%tests %golden ~.types-record-field-module-reachable %source %jibb] src-581 `typ-581 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-581-1]])) (check-module-trees ~.types-record-field-module-reachable `mtre-581 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-581-1]]))
3594+ (weld (weld (check ~.types-record-field-module-reachable src-583 `tok-583 `tre-583) (check-module-types ~.types-record-field-module-reachable ~[%tests %golden ~.types-record-field-module-reachable %source %jibb] src-583 `typ-583 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-583-1]])) (check-module-trees ~.types-record-field-module-reachable `mtre-583 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-583-1]]))
3583++ test-types-record-field-module-unused
3595++ test-types-record-field-module-unused
3584− (weld (weld (check ~.types-record-field-module-unused src-582 `tok-582 `tre-582) (check-module-types ~.types-record-field-module-unused ~[%tests %golden ~.types-record-field-module-unused %source %jibb] src-582 `typ-582 ~ ~ ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-582-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-582-2]])) (check-module-trees ~.types-record-field-module-unused `mtre-582 ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-582-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-582-2]]))
3596+ (weld (weld (check ~.types-record-field-module-unused src-584 `tok-584 `tre-584) (check-module-types ~.types-record-field-module-unused ~[%tests %golden ~.types-record-field-module-unused %source %jibb] src-584 `typ-584 ~ ~ ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-584-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-584-2]])) (check-module-trees ~.types-record-field-module-unused `mtre-584 ~[['/ui/good.jibb' ~[~.ui ~.good ~.jibb] mod-584-1] ['/ui/unused.jibb' ~[~.ui ~.unused ~.jibb] mod-584-2]]))
3585++ test-types-record-field-nested-mold
3597++ test-types-record-field-nested-mold
3586− (weld (check ~.types-record-field-nested-mold src-583 `tok-583 `tre-583) (check-types ~.types-record-field-nested-mold ~[%tests %golden ~.types-record-field-nested-mold %source %jibb] src-583 `typ-583))
3598+ (weld (check ~.types-record-field-nested-mold src-585 `tok-585 `tre-585) (check-types ~.types-record-field-nested-mold ~[%tests %golden ~.types-record-field-nested-mold %source %jibb] src-585 `typ-585))
3587++ test-types-record-field-outer-inner
3599++ test-types-record-field-outer-inner
3588− (weld (check ~.types-record-field-outer-inner src-584 `tok-584 `tre-584) (check-types ~.types-record-field-outer-inner ~[%tests %golden ~.types-record-field-outer-inner %source %jibb] src-584 `typ-584))
3600+ (weld (check ~.types-record-field-outer-inner src-586 `tok-586 `tre-586) (check-types ~.types-record-field-outer-inner ~[%tests %golden ~.types-record-field-outer-inner %source %jibb] src-586 `typ-586))
3589++ test-types-record-field-sample-duplicate
3601++ test-types-record-field-sample-duplicate
3590− (weld (check ~.types-record-field-sample-duplicate src-585 `tok-585 `tre-585) (check-types ~.types-record-field-sample-duplicate ~[%tests %golden ~.types-record-field-sample-duplicate %source %jibb] src-585 `typ-585))
3602+ (weld (check ~.types-record-field-sample-duplicate src-587 `tok-587 `tre-587) (check-types ~.types-record-field-sample-duplicate ~[%tests %golden ~.types-record-field-sample-duplicate %source %jibb] src-587 `typ-587))
3591++ test-types-record-field-separate-molds
3603++ test-types-record-field-separate-molds
3592− (weld (check ~.types-record-field-separate-molds src-586 `tok-586 `tre-586) (check-types ~.types-record-field-separate-molds ~[%tests %golden ~.types-record-field-separate-molds %source %jibb] src-586 `typ-586))
3604+ (weld (check ~.types-record-field-separate-molds src-588 `tok-588 `tre-588) (check-types ~.types-record-field-separate-molds ~[%tests %golden ~.types-record-field-separate-molds %source %jibb] src-588 `typ-588))
3593++ test-types-record-field-unused-mold
3605++ test-types-record-field-unused-mold
3594− (weld (check ~.types-record-field-unused-mold src-587 `tok-587 `tre-587) (check-types ~.types-record-field-unused-mold ~[%tests %golden ~.types-record-field-unused-mold %source %jibb] src-587 `typ-587))
3606+ (weld (check ~.types-record-field-unused-mold src-589 `tok-589 `tre-589) (check-types ~.types-record-field-unused-mold ~[%tests %golden ~.types-record-field-unused-mold %source %jibb] src-589 `typ-589))
3595++ test-types-record-import
3607++ test-types-record-import
3596− (weld (weld (check ~.types-record-import src-588 `tok-588 `tre-588) (check-module-types ~.types-record-import ~[%tests %golden ~.types-record-import %source %jibb] src-588 `typ-588 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-588-1]])) (check-module-trees ~.types-record-import `mtre-588 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-588-1]]))
3608+ (weld (weld (check ~.types-record-import src-590 `tok-590 `tre-590) (check-module-types ~.types-record-import ~[%tests %golden ~.types-record-import %source %jibb] src-590 `typ-590 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-590-1]])) (check-module-trees ~.types-record-import `mtre-590 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-590-1]]))
3597++ test-types-record-local-scheme
3609++ test-types-record-local-scheme
3598− (weld (check ~.types-record-local-scheme src-589 `tok-589 `tre-589) (check-types ~.types-record-local-scheme ~[%tests %golden ~.types-record-local-scheme %source %jibb] src-589 `typ-589))
3610+ (weld (check ~.types-record-local-scheme src-591 `tok-591 `tre-591) (check-types ~.types-record-local-scheme ~[%tests %golden ~.types-record-local-scheme %source %jibb] src-591 `typ-591))
3599++ test-types-record-nested
3611++ test-types-record-nested
3600− (weld (check ~.types-record-nested src-590 `tok-590 `tre-590) (check-types ~.types-record-nested ~[%tests %golden ~.types-record-nested %source %jibb] src-590 `typ-590))
3612+ (weld (check ~.types-record-nested src-592 `tok-592 `tre-592) (check-types ~.types-record-nested ~[%tests %golden ~.types-record-nested %source %jibb] src-592 `typ-592))
3601++ test-types-record-to-tuple
3613++ test-types-record-to-tuple
3602− (weld (check ~.types-record-to-tuple src-591 `tok-591 `tre-591) (check-types ~.types-record-to-tuple ~[%tests %golden ~.types-record-to-tuple %source %jibb] src-591 `typ-591))
3614+ (weld (check ~.types-record-to-tuple src-593 `tok-593 `tre-593) (check-types ~.types-record-to-tuple ~[%tests %golden ~.types-record-to-tuple %source %jibb] src-593 `typ-593))
3603++ test-types-recursion-scc-failures
3615++ test-types-recursion-scc-failures
3604− (weld (check ~.types-recursion-scc-failures src-592 `tok-592 `tre-592) (check-module-types ~.types-recursion-scc-failures ~[%tests %golden ~.types-recursion-scc-failures %source %jibb] src-592 `typ-592 ~ ~ ~))
3616+ (weld (check ~.types-recursion-scc-failures src-594 `tok-594 `tre-594) (check-module-types ~.types-recursion-scc-failures ~[%tests %golden ~.types-recursion-scc-failures %source %jibb] src-594 `typ-594 ~ ~ ~))
3605++ test-types-recursion-scc-groups
3617++ test-types-recursion-scc-groups
3606− (weld (check ~.types-recursion-scc-groups src-593 `tok-593 `tre-593) (check-module-types ~.types-recursion-scc-groups ~[%tests %golden ~.types-recursion-scc-groups %source %jibb] src-593 `typ-593 ~ ~ ~))
3618+ (weld (check ~.types-recursion-scc-groups src-595 `tok-595 `tre-595) (check-module-types ~.types-recursion-scc-groups ~[%tests %golden ~.types-recursion-scc-groups %source %jibb] src-595 `typ-595 ~ ~ ~))
3607++ test-types-recursion-scc-import
3619++ test-types-recursion-scc-import
3608− (weld (weld (check ~.types-recursion-scc-import src-594 `tok-594 `tre-594) (check-module-types ~.types-recursion-scc-import ~[%tests %golden ~.types-recursion-scc-import %source %jibb] src-594 `typ-594 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-594-1]])) (check-module-trees ~.types-recursion-scc-import `mtre-594 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-594-1]]))
3620+ (weld (weld (check ~.types-recursion-scc-import src-596 `tok-596 `tre-596) (check-module-types ~.types-recursion-scc-import ~[%tests %golden ~.types-recursion-scc-import %source %jibb] src-596 `typ-596 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-596-1]])) (check-module-trees ~.types-recursion-scc-import `mtre-596 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-596-1]]))
3609++ test-types-recursion-scc-import-bad
3621++ test-types-recursion-scc-import-bad
3610− (weld (weld (check ~.types-recursion-scc-import-bad src-595 `tok-595 `tre-595) (check-module-types ~.types-recursion-scc-import-bad ~[%tests %golden ~.types-recursion-scc-import-bad %source %jibb] src-595 `typ-595 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-595-1]])) (check-module-trees ~.types-recursion-scc-import-bad `mtre-595 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-595-1]]))
3622+ (weld (weld (check ~.types-recursion-scc-import-bad src-597 `tok-597 `tre-597) (check-module-types ~.types-recursion-scc-import-bad ~[%tests %golden ~.types-recursion-scc-import-bad %source %jibb] src-597 `typ-597 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-597-1]])) (check-module-trees ~.types-recursion-scc-import-bad `mtre-597 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-597-1]]))
3611++ test-types-recursion-scc-local
3623++ test-types-recursion-scc-local
3612− (weld (check ~.types-recursion-scc-local src-596 `tok-596 `tre-596) (check-module-types ~.types-recursion-scc-local ~[%tests %golden ~.types-recursion-scc-local %source %jibb] src-596 `typ-596 ~ ~ ~))
3624+ (weld (check ~.types-recursion-scc-local src-598 `tok-598 `tre-598) (check-module-types ~.types-recursion-scc-local ~[%tests %golden ~.types-recursion-scc-local %source %jibb] src-598 `typ-598 ~ ~ ~))
3613++ test-types-recursion-scc-order
3625++ test-types-recursion-scc-order
3614− (weld (check ~.types-recursion-scc-order src-597 `tok-597 `tre-597) (check-module-types ~.types-recursion-scc-order ~[%tests %golden ~.types-recursion-scc-order %source %jibb] src-597 `typ-597 ~ ~ ~))
3626+ (weld (check ~.types-recursion-scc-order src-599 `tok-599 `tre-599) (check-module-types ~.types-recursion-scc-order ~[%tests %golden ~.types-recursion-scc-order %source %jibb] src-599 `typ-599 ~ ~ ~))
3615++ test-types-recursion-scc-shadow
3627++ test-types-recursion-scc-shadow
3616− (weld (check ~.types-recursion-scc-shadow src-598 `tok-598 `tre-598) (check-module-types ~.types-recursion-scc-shadow ~[%tests %golden ~.types-recursion-scc-shadow %source %jibb] src-598 `typ-598 ~ ~ ~))
3628+ (weld (check ~.types-recursion-scc-shadow src-600 `tok-600 `tre-600) (check-module-types ~.types-recursion-scc-shadow ~[%tests %golden ~.types-recursion-scc-shadow %source %jibb] src-600 `typ-600 ~ ~ ~))
3617++ test-types-recursive-branch
3629++ test-types-recursive-branch
3618− (weld (check ~.types-recursive-branch src-599 `tok-599 `tre-599) (check-module-types ~.types-recursive-branch ~[%tests %golden ~.types-recursive-branch %source %jibb] src-599 `typ-599 ~ ~ ~))
3630+ (weld (check ~.types-recursive-branch src-601 `tok-601 `tre-601) (check-module-types ~.types-recursive-branch ~[%tests %golden ~.types-recursive-branch %source %jibb] src-601 `typ-601 ~ ~ ~))
3619++ test-types-recursive-gate
3631++ test-types-recursive-gate
3620− (weld (check ~.types-recursive-gate src-600 `tok-600 `tre-600) (check-types ~.types-recursive-gate ~[%tests %golden ~.types-recursive-gate %source %jibb] src-600 `typ-600))
3632+ (weld (check ~.types-recursive-gate src-602 `tok-602 `tre-602) (check-types ~.types-recursive-gate ~[%tests %golden ~.types-recursive-gate %source %jibb] src-602 `typ-602))
3621++ test-types-recursive-sample
3633++ test-types-recursive-sample
3622− (weld (check ~.types-recursive-sample src-601 `tok-601 `tre-601) (check-types ~.types-recursive-sample ~[%tests %golden ~.types-recursive-sample %source %jibb] src-601 `typ-601))
3634+ (weld (check ~.types-recursive-sample src-603 `tok-603 `tre-603) (check-types ~.types-recursive-sample ~[%tests %golden ~.types-recursive-sample %source %jibb] src-603 `typ-603))
3623++ test-types-request-normal
3635++ test-types-request-normal
3624− (weld (weld (check ~.types-request-normal src-602 `tok-602 `tre-602) (check-module-types ~.types-request-normal ~[%tests %golden ~.types-request-normal %source %jibb] src-602 `typ-602 ~ ~[[%full mark-602-1]] ~[['/ui/api/demo.jibb' ~[~.ui ~.api ~.demo ~.jibb] mod-602-1]])) (check-module-trees ~.types-request-normal `mtre-602 ~[['/ui/api/demo.jibb' ~[~.ui ~.api ~.demo ~.jibb] mod-602-1]]))
3636+ (weld (weld (check ~.types-request-normal src-604 `tok-604 `tre-604) (check-module-types ~.types-request-normal ~[%tests %golden ~.types-request-normal %source %jibb] src-604 `typ-604 ~ ~[[%full mark-604-1]] ~[['/ui/api/demo.jibb' ~[~.ui ~.api ~.demo ~.jibb] mod-604-1]])) (check-module-trees ~.types-request-normal `mtre-604 ~[['/ui/api/demo.jibb' ~[~.ui ~.api ~.demo ~.jibb] mod-604-1]]))
3625++ test-types-scope-library-poke
3637++ test-types-scope-library-poke
3626− (weld (check-at ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-603 `tok-603 `tre-603) (check-module-types ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-603 `typ-603 ~ ~ ~))
3638+ (weld (check-at ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-605 `tok-605 `tre-605) (check-module-types ~.types-scope-library-poke ~[~.ui ~.lib ~.library ~.jibb] src-605 `typ-605 ~ ~ ~))
3627++ test-types-scope-root-api
3639++ test-types-scope-root-api
3628− (weld (check-at ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-604 `tok-604 `tre-604) (check-module-types ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-604 `typ-604 ~ ~ ~))
3640+ (weld (check-at ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-606 `tok-606 `tre-606) (check-module-types ~.types-scope-root-api ~[~.ui ~.api ~.todo ~.jibb] src-606 `typ-606 ~ ~ ~))
3629++ test-types-scope-store-duplicate
3641++ test-types-scope-store-duplicate
3630− (weld (check-at ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-605 `tok-605 `tre-605) (check-module-types ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-605 `typ-605 ~ ~ ~))
3642+ (weld (check-at ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-607 `tok-607 `tre-607) (check-module-types ~.types-scope-store-duplicate ~[~.ui ~.stores ~.cart ~.jibb] src-607 `typ-607 ~ ~ ~))
3631++ test-types-scope-store-shadow
3643++ test-types-scope-store-shadow
3632− (weld (check-at ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-606 `tok-606 `tre-606) (check-module-types ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-606 `typ-606 ~ ~ ~))
3644+ (weld (check-at ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-608 `tok-608 `tre-608) (check-module-types ~.types-scope-store-shadow ~[~.ui ~.stores ~.cart ~.jibb] src-608 `typ-608 ~ ~ ~))
3633++ test-types-single-case-pattern
3645++ test-types-single-case-pattern
3634− (weld (check ~.types-single-case-pattern src-607 `tok-607 `tre-607) (check-module-types ~.types-single-case-pattern ~[%tests %golden ~.types-single-case-pattern %source %jibb] src-607 `typ-607 ~ ~ ~))
3646+ (weld (check ~.types-single-case-pattern src-609 `tok-609 `tre-609) (check-module-types ~.types-single-case-pattern ~[%tests %golden ~.types-single-case-pattern %source %jibb] src-609 `typ-609 ~ ~ ~))
3635++ test-types-string-interpolation
3647++ test-types-string-interpolation
3636− (weld (check ~.types-string-interpolation src-608 `tok-608 `tre-608) (check-module-types ~.types-string-interpolation ~[%tests %golden ~.types-string-interpolation %source %jibb] src-608 `typ-608 ~ ~ ~))
3648+ (weld (check ~.types-string-interpolation src-610 `tok-610 `tre-610) (check-module-types ~.types-string-interpolation ~[%tests %golden ~.types-string-interpolation %source %jibb] src-610 `typ-610 ~ ~ ~))
3637++ test-types-tuple-context
3649++ test-types-tuple-context
3638− (weld (check ~.types-tuple-context src-609 `tok-609 `tre-609) (check-module-types ~.types-tuple-context ~[%tests %golden ~.types-tuple-context %source %jibb] src-609 `typ-609 ~ ~ ~))
3650+ (weld (check ~.types-tuple-context src-611 `tok-611 `tre-611) (check-module-types ~.types-tuple-context ~[%tests %golden ~.types-tuple-context %source %jibb] src-611 `typ-611 ~ ~ ~))
3639++ test-types-tuple-context-nested
3651++ test-types-tuple-context-nested
3640− (weld (check ~.types-tuple-context-nested src-610 `tok-610 `tre-610) (check-module-types ~.types-tuple-context-nested ~[%tests %golden ~.types-tuple-context-nested %source %jibb] src-610 `typ-610 ~ ~ ~))
3652+ (weld (check ~.types-tuple-context-nested src-612 `tok-612 `tre-612) (check-module-types ~.types-tuple-context-nested ~[%tests %golden ~.types-tuple-context-nested %source %jibb] src-612 `typ-612 ~ ~ ~))
3641++ test-types-union-alias
3653++ test-types-union-alias
3642− (weld (check ~.types-union-alias src-611 `tok-611 `tre-611) (check-types ~.types-union-alias ~[%tests %golden ~.types-union-alias %source %jibb] src-611 `typ-611))
3654+ (weld (check ~.types-union-alias src-613 `tok-613 `tre-613) (check-types ~.types-union-alias ~[%tests %golden ~.types-union-alias %source %jibb] src-613 `typ-613))
3643++ test-types-union-branch-context
3655++ test-types-union-branch-context
3644− (weld (check ~.types-union-branch-context src-612 `tok-612 `tre-612) (check-types ~.types-union-branch-context ~[%tests %golden ~.types-union-branch-context %source %jibb] src-612 `typ-612))
3656+ (weld (check ~.types-union-branch-context src-614 `tok-614 `tre-614) (check-types ~.types-union-branch-context ~[%tests %golden ~.types-union-branch-context %source %jibb] src-614 `typ-614))
3645++ test-types-union-branch-pending
3657++ test-types-union-branch-pending
3646− (weld (check ~.types-union-branch-pending src-613 `tok-613 `tre-613) (check-types ~.types-union-branch-pending ~[%tests %golden ~.types-union-branch-pending %source %jibb] src-613 `typ-613))
3658+ (weld (check ~.types-union-branch-pending src-615 `tok-615 `tre-615) (check-types ~.types-union-branch-pending ~[%tests %golden ~.types-union-branch-pending %source %jibb] src-615 `typ-615))
3647++ test-types-union-constructor-shape
3659++ test-types-union-constructor-shape
3648− (weld (check ~.types-union-constructor-shape src-614 `tok-614 `tre-614) (check-types ~.types-union-constructor-shape ~[%tests %golden ~.types-union-constructor-shape %source %jibb] src-614 `typ-614))
3660+ (weld (check ~.types-union-constructor-shape src-616 `tok-616 `tre-616) (check-types ~.types-union-constructor-shape ~[%tests %golden ~.types-union-constructor-shape %source %jibb] src-616 `typ-616))
3649++ test-types-union-context-flow
3661++ test-types-union-context-flow
3650− (weld (check ~.types-union-context-flow src-615 `tok-615 `tre-615) (check-types ~.types-union-context-flow ~[%tests %golden ~.types-union-context-flow %source %jibb] src-615 `typ-615))
3662+ (weld (check ~.types-union-context-flow src-617 `tok-617 `tre-617) (check-types ~.types-union-context-flow ~[%tests %golden ~.types-union-context-flow %source %jibb] src-617 `typ-617))
3651++ test-types-union-finite
3663++ test-types-union-finite
3652− (weld (check ~.types-union-finite src-616 `tok-616 `tre-616) (check-module-types ~.types-union-finite ~[%tests %golden ~.types-union-finite %source %jibb] src-616 `typ-616 ~ ~ ~))
3664+ (weld (check ~.types-union-finite src-618 `tok-618 `tre-618) (check-module-types ~.types-union-finite ~[%tests %golden ~.types-union-finite %source %jibb] src-618 `typ-618 ~ ~ ~))
3653++ test-types-union-finite-context
3665++ test-types-union-finite-context
3654− (weld (check ~.types-union-finite-context src-617 `tok-617 `tre-617) (check-module-types ~.types-union-finite-context ~[%tests %golden ~.types-union-finite-context %source %jibb] src-617 `typ-617 ~ ~ ~))
3666+ (weld (check ~.types-union-finite-context src-619 `tok-619 `tre-619) (check-module-types ~.types-union-finite-context ~[%tests %golden ~.types-union-finite-context %source %jibb] src-619 `typ-619 ~ ~ ~))
3655++ test-types-union-finite-generic
3667++ test-types-union-finite-generic
3656− (weld (check ~.types-union-finite-generic src-618 `tok-618 `tre-618) (check-module-types ~.types-union-finite-generic ~[%tests %golden ~.types-union-finite-generic %source %jibb] src-618 `typ-618 ~ ~ ~))
3668+ (weld (check ~.types-union-finite-generic src-620 `tok-620 `tre-620) (check-module-types ~.types-union-finite-generic ~[%tests %golden ~.types-union-finite-generic %source %jibb] src-620 `typ-620 ~ ~ ~))
3657++ test-types-union-finite-limit
3669++ test-types-union-finite-limit
3658− (weld (check ~.types-union-finite-limit src-619 `tok-619 `tre-619) (check-module-types ~.types-union-finite-limit ~[%tests %golden ~.types-union-finite-limit %source %jibb] src-619 `typ-619 ~ ~ ~))
3670+ (weld (check ~.types-union-finite-limit src-621 `tok-621 `tre-621) (check-module-types ~.types-union-finite-limit ~[%tests %golden ~.types-union-finite-limit %source %jibb] src-621 `typ-621 ~ ~ ~))
3659++ test-types-union-import
3671++ test-types-union-import
3660− (weld (weld (check ~.types-union-import src-620 `tok-620 `tre-620) (check-module-types ~.types-union-import ~[%tests %golden ~.types-union-import %source %jibb] src-620 `typ-620 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-620-1]])) (check-module-trees ~.types-union-import `mtre-620 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-620-1]]))
3672+ (weld (weld (check ~.types-union-import src-622 `tok-622 `tre-622) (check-module-types ~.types-union-import ~[%tests %golden ~.types-union-import %source %jibb] src-622 `typ-622 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-622-1]])) (check-module-trees ~.types-union-import `mtre-622 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-622-1]]))
3661++ test-types-union-local-pending
3673++ test-types-union-local-pending
3662− (weld (check ~.types-union-local-pending src-621 `tok-621 `tre-621) (check-types ~.types-union-local-pending ~[%tests %golden ~.types-union-local-pending %source %jibb] src-621 `typ-621))
3674+ (weld (check ~.types-union-local-pending src-623 `tok-623 `tre-623) (check-types ~.types-union-local-pending ~[%tests %golden ~.types-union-local-pending %source %jibb] src-623 `typ-623))
3663++ test-types-union-nonwing-subject
3675++ test-types-union-nonwing-subject
3664− (weld (check ~.types-union-nonwing-subject src-622 `tok-622 `tre-622) (check-module-types ~.types-union-nonwing-subject ~[%tests %golden ~.types-union-nonwing-subject %source %jibb] src-622 `typ-622 ~ ~ ~))
3676+ (weld (check ~.types-union-nonwing-subject src-624 `tok-624 `tre-624) (check-module-types ~.types-union-nonwing-subject ~[%tests %golden ~.types-union-nonwing-subject %source %jibb] src-624 `typ-624 ~ ~ ~))
3665++ test-types-union-overlap
3677++ test-types-union-overlap
3666− (weld (check ~.types-union-overlap src-623 `tok-623 `tre-623) (check-types ~.types-union-overlap ~[%tests %golden ~.types-union-overlap %source %jibb] src-623 `typ-623))
3678+ (weld (check ~.types-union-overlap src-625 `tok-625 `tre-625) (check-types ~.types-union-overlap ~[%tests %golden ~.types-union-overlap %source %jibb] src-625 `typ-625))
3667++ test-types-union-overlap-nested
3679++ test-types-union-overlap-nested
3668− (weld (check ~.types-union-overlap-nested src-624 `tok-624 `tre-624) (check-types ~.types-union-overlap-nested ~[%tests %golden ~.types-union-overlap-nested %source %jibb] src-624 `typ-624))
3680+ (weld (check ~.types-union-overlap-nested src-626 `tok-626 `tre-626) (check-types ~.types-union-overlap-nested ~[%tests %golden ~.types-union-overlap-nested %source %jibb] src-626 `typ-626))
3669++ test-types-union-pattern-result-context
3681++ test-types-union-pattern-result-context
3670− (weld (check ~.types-union-pattern-result-context src-625 `tok-625 `tre-625) (check-module-types ~.types-union-pattern-result-context ~[%tests %golden ~.types-union-pattern-result-context %source %jibb] src-625 `typ-625 ~ ~ ~))
3682+ (weld (check ~.types-union-pattern-result-context src-627 `tok-627 `tre-627) (check-module-types ~.types-union-pattern-result-context ~[%tests %golden ~.types-union-pattern-result-context %source %jibb] src-627 `typ-627 ~ ~ ~))
3671++ test-types-union-pattern-result-controls
3683++ test-types-union-pattern-result-controls
3672− (weld (check ~.types-union-pattern-result-controls src-626 `tok-626 `tre-626) (check-module-types ~.types-union-pattern-result-controls ~[%tests %golden ~.types-union-pattern-result-controls %source %jibb] src-626 `typ-626 ~ ~ ~))
3684+ (weld (check ~.types-union-pattern-result-controls src-628 `tok-628 `tre-628) (check-module-types ~.types-union-pattern-result-controls ~[%tests %golden ~.types-union-pattern-result-controls %source %jibb] src-628 `typ-628 ~ ~ ~))
3673++ test-types-union-patterns
3685++ test-types-union-patterns
3674− (weld (check ~.types-union-patterns src-627 `tok-627 `tre-627) (check-module-types ~.types-union-patterns ~[%tests %golden ~.types-union-patterns %source %jibb] src-627 `typ-627 ~ ~ ~))
3686+ (weld (check ~.types-union-patterns src-629 `tok-629 `tre-629) (check-module-types ~.types-union-patterns ~[%tests %golden ~.types-union-patterns %source %jibb] src-629 `typ-629 ~ ~ ~))
3675++ test-types-union-patterns-generic
3687++ test-types-union-patterns-generic
3676− (weld (check ~.types-union-patterns-generic src-628 `tok-628 `tre-628) (check-module-types ~.types-union-patterns-generic ~[%tests %golden ~.types-union-patterns-generic %source %jibb] src-628 `typ-628 ~ ~ ~))
3688+ (weld (check ~.types-union-patterns-generic src-630 `tok-630 `tre-630) (check-module-types ~.types-union-patterns-generic ~[%tests %golden ~.types-union-patterns-generic %source %jibb] src-630 `typ-630 ~ ~ ~))
3677++ test-types-union-patterns-import
3689++ test-types-union-patterns-import
3678− (weld (weld (check ~.types-union-patterns-import src-629 `tok-629 `tre-629) (check-module-types ~.types-union-patterns-import ~[%tests %golden ~.types-union-patterns-import %source %jibb] src-629 `typ-629 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-629-1]])) (check-module-trees ~.types-union-patterns-import `mtre-629 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-629-1]]))
3690+ (weld (weld (check ~.types-union-patterns-import src-631 `tok-631 `tre-631) (check-module-types ~.types-union-patterns-import ~[%tests %golden ~.types-union-patterns-import %source %jibb] src-631 `typ-631 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-631-1]])) (check-module-trees ~.types-union-patterns-import `mtre-631 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-631-1]]))
3679++ test-types-union-phantom-generic
3691++ test-types-union-phantom-generic
3680− (weld (check ~.types-union-phantom-generic src-630 `tok-630 `tre-630) (check-types ~.types-union-phantom-generic ~[%tests %golden ~.types-union-phantom-generic %source %jibb] src-630 `typ-630))
3692+ (weld (check ~.types-union-phantom-generic src-632 `tok-632 `tre-632) (check-types ~.types-union-phantom-generic ~[%tests %golden ~.types-union-phantom-generic %source %jibb] src-632 `typ-632))
3681++ test-types-union-polymorphic-identity
3693++ test-types-union-polymorphic-identity
3682− (weld (weld (check ~.types-union-polymorphic-identity src-631 `tok-631 `tre-631) (check-module-types ~.types-union-polymorphic-identity ~[%tests %golden ~.types-union-polymorphic-identity %source %jibb] src-631 `typ-631 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-631-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-631-2]])) (check-module-trees ~.types-union-polymorphic-identity `mtre-631 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-631-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-631-2]]))
3694+ (weld (weld (check ~.types-union-polymorphic-identity src-633 `tok-633 `tre-633) (check-module-types ~.types-union-polymorphic-identity ~[%tests %golden ~.types-union-polymorphic-identity %source %jibb] src-633 `typ-633 ~ ~ ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-633-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-633-2]])) (check-module-trees ~.types-union-polymorphic-identity `mtre-633 ~[['/ui/one.jibb' ~[~.ui ~.one ~.jibb] mod-633-1] ['/ui/two.jibb' ~[~.ui ~.two ~.jibb] mod-633-2]]))
3683++ test-types-union-print-cross-namespace
3695++ test-types-union-print-cross-namespace
3684− (weld (weld (check ~.types-union-print-cross-namespace src-632 `tok-632 `tre-632) (check-module-types ~.types-union-print-cross-namespace ~[%tests %golden ~.types-union-print-cross-namespace %source %jibb] src-632 `typ-632 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-632-1]])) (check-module-trees ~.types-union-print-cross-namespace `mtre-632 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-632-1]]))
3696+ (weld (weld (check ~.types-union-print-cross-namespace src-634 `tok-634 `tre-634) (check-module-types ~.types-union-print-cross-namespace ~[%tests %golden ~.types-union-print-cross-namespace %source %jibb] src-634 `typ-634 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-634-1]])) (check-module-trees ~.types-union-print-cross-namespace `mtre-634 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-634-1]]))
3685++ test-types-union-print-distinct
3697++ test-types-union-print-distinct
3686− (weld (weld (check ~.types-union-print-distinct src-633 `tok-633 `tre-633) (check-module-types ~.types-union-print-distinct ~[%tests %golden ~.types-union-print-distinct %source %jibb] src-633 `typ-633 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-633-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-633-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-633-3]])) (check-module-trees ~.types-union-print-distinct `mtre-633 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-633-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-633-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-633-3]]))
3698+ (weld (weld (check ~.types-union-print-distinct src-635 `tok-635 `tre-635) (check-module-types ~.types-union-print-distinct ~[%tests %golden ~.types-union-print-distinct %source %jibb] src-635 `typ-635 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-635-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-635-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-635-3]])) (check-module-trees ~.types-union-print-distinct `mtre-635 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-635-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-635-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-635-3]]))
3687++ test-types-union-print-escape
3699++ test-types-union-print-escape
3688− (weld (check ~.types-union-print-escape src-634 `tok-634 `tre-634) (check-types ~.types-union-print-escape ~[%tests %golden ~.types-union-print-escape %source %jibb] src-634 `typ-634))
3700+ (weld (check ~.types-union-print-escape src-636 `tok-636 `tre-636) (check-types ~.types-union-print-escape ~[%tests %golden ~.types-union-print-escape %source %jibb] src-636 `typ-636))
3689++ test-types-union-print-local
3701++ test-types-union-print-local
3690− (weld (check ~.types-union-print-local src-635 `tok-635 `tre-635) (check-types ~.types-union-print-local ~[%tests %golden ~.types-union-print-local %source %jibb] src-635 `typ-635))
3702+ (weld (check ~.types-union-print-local src-637 `tok-637 `tre-637) (check-types ~.types-union-print-local ~[%tests %golden ~.types-union-print-local %source %jibb] src-637 `typ-637))
3691++ test-types-union-print-nested
3703++ test-types-union-print-nested
3692− (weld (check ~.types-union-print-nested src-636 `tok-636 `tre-636) (check-types ~.types-union-print-nested ~[%tests %golden ~.types-union-print-nested %source %jibb] src-636 `typ-636))
3704+ (weld (check ~.types-union-print-nested src-638 `tok-638 `tre-638) (check-types ~.types-union-print-nested ~[%tests %golden ~.types-union-print-nested %source %jibb] src-638 `typ-638))
3693++ test-types-union-print-same-origin
3705++ test-types-union-print-same-origin
3694− (weld (weld (check ~.types-union-print-same-origin src-637 `tok-637 `tre-637) (check-module-types ~.types-union-print-same-origin ~[%tests %golden ~.types-union-print-same-origin %source %jibb] src-637 `typ-637 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-637-1]])) (check-module-trees ~.types-union-print-same-origin `mtre-637 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-637-1]]))
3706+ (weld (weld (check ~.types-union-print-same-origin src-639 `tok-639 `tre-639) (check-module-types ~.types-union-print-same-origin ~[%tests %golden ~.types-union-print-same-origin %source %jibb] src-639 `typ-639 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-639-1]])) (check-module-trees ~.types-union-print-same-origin `mtre-639 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-639-1]]))
3695++ test-types-union-print-transitive
3707++ test-types-union-print-transitive
3696− (weld (weld (check ~.types-union-print-transitive src-638 `tok-638 `tre-638) (check-module-types ~.types-union-print-transitive ~[%tests %golden ~.types-union-print-transitive %source %jibb] src-638 `typ-638 ~ ~ ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-638-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-638-2]])) (check-module-trees ~.types-union-print-transitive `mtre-638 ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-638-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-638-2]]))
3708+ (weld (weld (check ~.types-union-print-transitive src-640 `tok-640 `tre-640) (check-module-types ~.types-union-print-transitive ~[%tests %golden ~.types-union-print-transitive %source %jibb] src-640 `typ-640 ~ ~ ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-640-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-640-2]])) (check-module-trees ~.types-union-print-transitive `mtre-640 ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-640-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-640-2]]))
3697++ test-types-union-singleton
3709++ test-types-union-singleton
3698− (weld (check ~.types-union-singleton src-639 `tok-639 `tre-639) (check-types ~.types-union-singleton ~[%tests %golden ~.types-union-singleton %source %jibb] src-639 `typ-639))
3710+ (weld (check ~.types-union-singleton src-641 `tok-641 `tre-641) (check-types ~.types-union-singleton ~[%tests %golden ~.types-union-singleton %source %jibb] src-641 `typ-641))
3699++ test-types-union-tag-atoms
3711++ test-types-union-tag-atoms
3700− (weld (check ~.types-union-tag-atoms src-640 `tok-640 `tre-640) (check-types ~.types-union-tag-atoms ~[%tests %golden ~.types-union-tag-atoms %source %jibb] src-640 `typ-640))
3712+ (weld (check ~.types-union-tag-atoms src-642 `tok-642 `tre-642) (check-types ~.types-union-tag-atoms ~[%tests %golden ~.types-union-tag-atoms %source %jibb] src-642 `typ-642))
3701++ test-types-union-tags
3713++ test-types-union-tags
3702− (weld (check ~.types-union-tags src-641 `tok-641 `tre-641) (check-types ~.types-union-tags ~[%tests %golden ~.types-union-tags %source %jibb] src-641 `typ-641))
3714+ (weld (check ~.types-union-tags src-643 `tok-643 `tre-643) (check-types ~.types-union-tags ~[%tests %golden ~.types-union-tags %source %jibb] src-643 `typ-643))
3703++ test-types-union-unresolved
3715++ test-types-union-unresolved
3704− (weld (check ~.types-union-unresolved src-642 `tok-642 `tre-642) (check-types ~.types-union-unresolved ~[%tests %golden ~.types-union-unresolved %source %jibb] src-642 `typ-642))
3716+ (weld (check ~.types-union-unresolved src-644 `tok-644 `tre-644) (check-types ~.types-union-unresolved ~[%tests %golden ~.types-union-unresolved %source %jibb] src-644 `typ-644))
3705++ test-types-union-unresolved-flow
3717++ test-types-union-unresolved-flow
3706− (weld (check ~.types-union-unresolved-flow src-643 `tok-643 `tre-643) (check-types ~.types-union-unresolved-flow ~[%tests %golden ~.types-union-unresolved-flow %source %jibb] src-643 `typ-643))
3718+ (weld (check ~.types-union-unresolved-flow src-645 `tok-645 `tre-645) (check-types ~.types-union-unresolved-flow ~[%tests %golden ~.types-union-unresolved-flow %source %jibb] src-645 `typ-645))
3707++ test-types-unit-construction
3719++ test-types-unit-construction
3708− (weld (check ~.types-unit-construction src-644 `tok-644 `tre-644) (check-module-types ~.types-unit-construction ~[%tests %golden ~.types-unit-construction %source %jibb] src-644 `typ-644 ~ ~ ~))
3720+ (weld (check ~.types-unit-construction src-646 `tok-646 `tre-646) (check-module-types ~.types-unit-construction ~[%tests %golden ~.types-unit-construction %source %jibb] src-646 `typ-646 ~ ~ ~))
3709++ test-types-unit-context
3721++ test-types-unit-context
3710− (weld (check ~.types-unit-context src-645 `tok-645 `tre-645) (check-module-types ~.types-unit-context ~[%tests %golden ~.types-unit-context %source %jibb] src-645 `typ-645 ~ ~ ~))
3722+ (weld (check ~.types-unit-context src-647 `tok-647 `tre-647) (check-module-types ~.types-unit-context ~[%tests %golden ~.types-unit-context %source %jibb] src-647 `typ-647 ~ ~ ~))
3711++ test-types-unit-patterns
3723++ test-types-unit-patterns
3712− (weld (check ~.types-unit-patterns src-646 `tok-646 `tre-646) (check-types ~.types-unit-patterns ~[%tests %golden ~.types-unit-patterns %source %jibb] src-646 `typ-646))
3724+ (weld (check ~.types-unit-patterns src-648 `tok-648 `tre-648) (check-types ~.types-unit-patterns ~[%tests %golden ~.types-unit-patterns %source %jibb] src-648 `typ-648))
3713++ test-types-value-cycle-shadow
3725++ test-types-value-cycle-shadow
3714− (weld (check ~.types-value-cycle-shadow src-647 `tok-647 `tre-647) (check-module-types ~.types-value-cycle-shadow ~[%tests %golden ~.types-value-cycle-shadow %source %jibb] src-647 `typ-647 ~ ~ ~))
3726+ (weld (check ~.types-value-cycle-shadow src-649 `tok-649 `tre-649) (check-module-types ~.types-value-cycle-shadow ~[%tests %golden ~.types-value-cycle-shadow %source %jibb] src-649 `typ-649 ~ ~ ~))
3715++ test-types-value-cycle-unsupported
3727++ test-types-value-cycle-unsupported
3716− (weld (check ~.types-value-cycle-unsupported src-648 `tok-648 `tre-648) (check-module-types ~.types-value-cycle-unsupported ~[%tests %golden ~.types-value-cycle-unsupported %source %jibb] src-648 `typ-648 ~ ~ ~))
3728+ (weld (check ~.types-value-cycle-unsupported src-650 `tok-650 `tre-650) (check-module-types ~.types-value-cycle-unsupported ~[%tests %golden ~.types-value-cycle-unsupported %source %jibb] src-650 `typ-650 ~ ~ ~))
3717++ test-types-value-cycles
3729++ test-types-value-cycles
3718− (weld (check ~.types-value-cycles src-649 `tok-649 `tre-649) (check-module-types ~.types-value-cycles ~[%tests %golden ~.types-value-cycles %source %jibb] src-649 `typ-649 ~ ~ ~))
3730+ (weld (check ~.types-value-cycles src-651 `tok-651 `tre-651) (check-module-types ~.types-value-cycles ~[%tests %golden ~.types-value-cycles %source %jibb] src-651 `typ-651 ~ ~ ~))
3719::
3731::
3720:: +check: run golden:jibb on a case and compare both outputs
3732:: +check: run golden:jibb on a case and compare both outputs
3721::
3733::
tests/type-todo-partial/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: Overview, Worked examples: “`main.todo-list` is a record of exactly `init`, `update`, `view` and `subs`, whose types fix the data, model and messages.”
2+tests: The unchanged todo island is resolved using the real prelude, todo API, source-aware Hoon `/sur`, and mark readers. The report records partial inference only; it does not claim the module, island kind, gate-free conditions, runtime, or watchability were checked. Missing and duplicate marks, an unavailable selected `/sur` mold, and an unavailable API module remain rejected or explicitly unavailable. The eval runner verifies the mounted todo and API fixtures match their app sources.
3+expect: parses
4+expect-types: a partial inference report
tests/type-todo-partial/expected.txtnew file+17
@@ -0,0 +1,17 @@
1+unchanged todo: partial inference only
2+partial inference; module not checked
3+++ main: name is not available to partial inference
4++$ model: not checked
5++$ msg: cases proven disjoint; mold not checked
6+++ init: `~` needs context in partial inference
7+++ update: name is not available to partial inference
8+++ subs: call constraint is not supported by partial inference
9+++ view: name is not available to partial inference
10+++ row-of: name is not available to partial inference
11+negative API imports
12+missing-mark: rejected
13+duplicate-mark: rejected
14+missing-selected-sur: rejected
15+missing module: partial report
16+partial inference; module not checked
17+module source missing: /ui/api/todo/jibb
tools/testdata/ship-selftest+4
@@ -315,6 +315,7 @@ def generator_checks(tmp):
315 'tests/lib/jibb-direct-gate-guards.hoon',
315 'tests/lib/jibb-direct-gate-guards.hoon',
316 'tests/lib/jibb-direct-gate-source.hoon',
316 'tests/lib/jibb-direct-gate-source.hoon',
317 'tests/lib/jibb-todo-api.hoon',
317 'tests/lib/jibb-todo-api.hoon',
318+ 'tests/lib/jibb-todo-partial.hoon',
318 'tests/lib/jibb-constructor-fit-guards.hoon',
319 'tests/lib/jibb-constructor-fit-guards.hoon',
319 'tests/lib/jibb-sub-guards.hoon',
320 'tests/lib/jibb-sub-guards.hoon',
320 'tests/lib/jibb-nested-union-guards.hoon',
321 'tests/lib/jibb-nested-union-guards.hoon',
@@ -324,6 +325,9 @@ def generator_checks(tmp):
324 check('direct gate source and golden are assembled',
325 check('direct gate source and golden are assembled',
325 {'tests/type-direct-gate/source.txt', 'tests/type-direct-gate/expected.txt'}
326 {'tests/type-direct-gate/source.txt', 'tests/type-direct-gate/expected.txt'}
326 <= set(normal.files))
327 <= set(normal.files))
328+ check('todo partial golden and reused sources are assembled',
329+ {'tests/type-todo-partial/expected.txt', 'tests/type-gate-free/todo.txt',
330+ 'tests/type-api-paths/api.txt'} <= set(normal.files))
327 for label, kwargs in (('custom library', {'lib': STUB}),
331 for label, kwargs in (('custom library', {'lib': STUB}),
328 ('custom goldens', {'golden': CASES}),
332 ('custom goldens', {'golden': CASES}),
329 ('both overrides', {'lib': STUB, 'golden': CASES})):
333 ('both overrides', {'lib': STUB, 'golden': CASES})):
tools/type-todo-partial-testnew file+55
@@ -0,0 +1,55 @@
1+#!/usr/bin/env python3
2+"""Report partial inference of the unchanged todo island through real readers."""
3+from pathlib import Path
4+import argparse
5+import difflib
6+import subprocess
7+import sys
8+import tempfile
9+
10+stage = Path(__file__).resolve().parent.parent
11+parser = argparse.ArgumentParser(description=__doc__)
12+parser.add_argument('--repo', type=Path, default=stage, help=argparse.SUPPRESS)
13+parser.add_argument('--lib')
14+args = parser.parse_args()
15+root = args.repo.resolve()
16+if args.lib is None:
17+ args.lib = str(root / 'jibb-dev/lib/jibb.hoon')
18+for fixture, actual in (('tests/type-gate-free/todo.txt', 'my-app/ui/todo-list.jibb'),
19+ ('tests/type-api-paths/api.txt', 'my-app/ui/api/todo.jibb')):
20+ if (root / fixture).read_bytes() != (root / actual).read_bytes():
21+ sys.exit(f'{fixture} differs from {actual}')
22+reader = (root / 'jibb-dev/lib/jibb-import.hoon').read_text()
23+tests = (stage / 'tests/lib/jibb-todo-partial.hoon').read_text()
24+tests = tests[tests.index('\n|%\n') + 1:]
25+names = ('sur', 'action', 'todos', 'update', 'item', 'api', 'source')
26+program = ('=/ jibb .\n=/ jibb-import\n' + reader + '\n' +
27+ ''.join('=/ ' + name + '=wain (to-wain:format ' + name + '-text)\n'
28+ for name in names) + '=/ expected=wain ~\n=/ suite\n' + tests +
29+ '\n^- @t\n(todo-island-report:suite prelude internal sur-text action-text todos-text update-text item-text api-text source-text)\n')
30+fixtures = {'sur': 'tests/type-api-paths/todo-sur.txt',
31+ 'action': 'tests/type-api-paths/todo-action.txt',
32+ 'todos': 'tests/type-api-paths/todos.txt',
33+ 'update': 'tests/type-api-paths/todo-update.txt',
34+ 'item': 'tests/type-api-paths/todo-item.txt',
35+ 'api': 'tests/type-api-paths/api.txt',
36+ 'source': 'tests/type-gate-free/todo.txt'}
37+with tempfile.TemporaryDirectory(prefix='jibb-todo-partial-') as tmp:
38+ path = Path(tmp) / 'todo.hoon'
39+ path.write_text(program)
40+ command = [str(root / 'tools/hoon'), '--lib', args.lib, '--raw', '-f', str(path),
41+ '--cord', 'prelude=' + str(root / 'jibb-dev/lib/jibb/prelude.jibb'),
42+ '--cord', 'internal=' + str(root / 'jibb-dev/lib/jibb/internal.jibb')]
43+ for name, filename in fixtures.items():
44+ command += ['--cord', name + '-text=' + str(root / filename)]
45+ result = subprocess.run(command, stdout=subprocess.PIPE)
46+if result.returncode:
47+ sys.exit(result.returncode)
48+expected = (stage / 'tests/type-todo-partial/expected.txt').read_bytes()
49+if result.stdout != expected:
50+ sys.stderr.writelines(difflib.unified_diff(
51+ expected.decode().splitlines(keepends=True),
52+ result.stdout.decode().splitlines(keepends=True),
53+ fromfile='expected.txt', tofile='actual'))
54+ sys.exit('todo partial report differs from expected')
55+print('unchanged todo partial reader report passed')