on master help sign in
Infer contextual list cells
671fe72iko
docs/compiler.md+1−1
@@ -60,7 +60,7 @@ The inference fragment supports fixed auras, unrestricted `@`, one-way widening
60
60
61For supported closed unions, the type printer keeps the union’s origin separate from its displayed name. It prints an in-scope name such as `msg` or `msg.lib`, including in records and gates; an accessible imported nongeneric alias may name a transitive union. A nongeneric body-local union that escapes its scope, or an origin without an accessible name, prints its cases separated by spaces, parenthesized when nested. That case-list form is print-only. A supported generic union prints its name and all arguments, including unused arguments; when its name is unavailable, the partial printer reports that limitation instead of dropping its arguments. Two faces for the same imported origin remain compatible; compatibility between distinct union origins, including in gate types, remains unsupported. Some comparisons of generic union arguments also remain unsupported rather than deciding equality or mismatch. The Hoon bridge also translates some imported unnamed unions into this representation; unsupported cases remain errors.
61For supported closed unions, the type printer keeps the union’s origin separate from its displayed name. It prints an in-scope name such as `msg` or `msg.lib`, including in records and gates; an accessible imported nongeneric alias may name a transitive union. A nongeneric body-local union that escapes its scope, or an origin without an accessible name, prints its cases separated by spaces, parenthesized when nested. That case-list form is print-only. A supported generic union prints its name and all arguments, including unused arguments; when its name is unavailable, the partial printer reports that limitation instead of dropping its arguments. Two faces for the same imported origin remain compatible; compatibility between distinct union origins, including in gate types, remains unsupported. Some comparisons of generic union arguments also remain unsupported rather than deciding equality or mismatch. The Hoon bridge also translates some imported unnamed unions into this representation; unsupported cases remain errors.
62
62
63−A list literal can be inferred when a cast or known gate sample supplies a list type and the supplied prelude has the validated standard list definition. Empty, nonempty and nested literals work, including contextual union tags in elements; mismatched elements report the item and expected type. Imported Hoon lists share this representation. Without a known context or the validated prelude list, the partial checker fails closed; general list construction remains unfinished. For a known standard list with a supported element type, it also infers a complete two-arm branch using `~` and `[item rest]`, in either order. The binders have the element and list types and cannot shadow or duplicate names. Unknown subjects, unsupported element types, other patterns and incomplete arms remain unsupported.
63+A list literal can be inferred when a cast or known gate sample supplies a list type and the supplied prelude has the validated standard list definition. Empty, nonempty and nested literals work, including contextual union tags in elements; mismatched elements report the item and expected type. Imported Hoon lists share this representation. Under the same known context, `~` and zero-valued term literals fit an empty list, and a two-item unfaced cell `[head tail]` is a cons; cons cells and list literals can be nested. Mismatched heads or tails report both sites. Faced or longer cells, uncontextualized construction, and a missing or altered prelude list remain unsupported. For a known standard list with a supported element type, it also infers a complete two-arm branch using `~` and `[item rest]`, in either order. The binders have the element and list types and cannot shadow or duplicate names. Unknown subjects, unsupported element types, other patterns and incomplete arms remain unsupported.
64
64
65A known union of `~` and a null-headed cell can be matched by `~` and `[~ value]` arms in either order. The payload binder is checked for shadowing. Unknown subjects, missing or duplicate arms, and unresolved branch results remain unsupported; this fragment infers the prelude’s `fall` and `need` signatures.
65A known union of `~` and a null-headed cell can be matched by `~` and `[~ value]` arms in either order. The payload binder is checked for shadowing. Unknown subjects, missing or duplicate arms, and unresolved branch results remain unsupported; this fragment infers the prelude’s `fall` and `need` signatures.
66
66
docs/status.md+7−6
@@ -19,7 +19,7 @@ On 2026-10-30, @iko decided that Jibb drops `$?`, so a `+$` takes a union's case
19
19
20## Milestone 2: in progress
20## Milestone 2: in progress
21
21
22−The repository spec records the subsequent type-system and prelude decisions; 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 selected Hoon atoms, term singletons, 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 prelude collection operations are not yet connected; malformed names and arities fail closed. Selected self-recursive `/sur` molds cross as opaque module-and-name identities; aliases, foreign references, recursive marks, unfolding and construction remain unsupported. The reader handles mark samples, recursive molds whose origins can be verified through Ford imports, nested collections, direct ordered maps, 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. Ambiguous recursive origins fail closed; recognizable explicit unions are checked from source before Hoon can collapse their cases (doc question 22), while other nested unions, nested ordered maps, general union disjointness and complete import integration remain unfinished. 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, and detects missing sources and cycles. It does not yet check API or kind semantics, and 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, 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. Contextual null-headed cells fit their cases, but do not supply a `|=%$` constructor; 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. 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. Uncontextualized list literals, general list construction, 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. 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 local groups and 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` and `rear`, parsed but still awaiting checker and backend validation, and [prelude-inventory.md](prelude-inventory.md) is a source audit, not the complete inventory or signatures. The milestone remains unfinished.
22+The repository spec records the subsequent type-system and prelude decisions; 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 selected Hoon atoms, term singletons, 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 prelude collection operations are not yet connected; malformed names and arities fail closed. Selected self-recursive `/sur` molds cross as opaque module-and-name identities; aliases, foreign references, recursive marks, unfolding and construction remain unsupported. The reader handles mark samples, recursive molds whose origins can be verified through Ford imports, nested collections, direct ordered maps, 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. Ambiguous recursive origins fail closed; recognizable explicit unions are checked from source before Hoon can collapse their cases (doc question 22), while other nested unions, nested ordered maps, general union disjointness and complete import integration remain unfinished. 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, and detects missing sources and cycles. It does not yet check API or kind semantics, and 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, 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. Contextual null-headed cells fit their cases, but do not supply a `|=%$` constructor; 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. Faced or longer cells and a missing or altered prelude list fail closed. 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. Uncontextualized list construction, 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. 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 local groups and 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` and `rear`, parsed but still awaiting checker and backend validation, and [prelude-inventory.md](prelude-inventory.md) is a source audit, not the complete inventory or signatures. The milestone remains unfinished.
23
23
24The shared prelude interface reserves every name present in the supplied vendored source and makes only supported inferred entries available, including `list`, `unit`, `same`, `fall` and `need`. Unsupported entries such as most list helpers remain reserved but unavailable. All callers use the same prelude origin, so a library can export a type containing unqualified `(unit A)` to another module. Preparation rejects empty, malformed, conflicting or import-bearing source; the prepared value is trusted and must come unchanged from `+prepare-prelude`. 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.
24The shared prelude interface reserves every name present in the supplied vendored source and makes only supported inferred entries available, including `list`, `unit`, `same`, `fall` and `need`. Unsupported entries such as most list helpers remain reserved but unavailable. All callers use the same prelude origin, so a library can export a type containing unqualified `(unit A)` to another module. Preparation rejects empty, malformed, conflicting or import-bearing source; the prepared value is trusted and must come unchanged from `+prepare-prelude`. 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.
25
25
@@ -39,8 +39,8 @@ What the plan asks for, and where it is:
39
39
40Besides the plan's list:
40Besides the plan's list:
41
41
42−- 501 golden cases: 285 that parse and 216 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.
42+- 502 golden cases: 286 that parse and 216 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.
43−- The 501-case corpus passed under `urbit eval` in 58.3 s. The fake ship passed all 506 tests, including the importer, importer/checker and mark/checker bridges, module scope and unification checks, with 27.5 s for sync and 32.5 s for tests. The importer golden compares 141 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.
43+- The 502-case corpus passed under `urbit eval` in 56.5 s. The fake ship passed all 507 tests, including the importer, importer/checker and mark/checker bridges, module scope and unification checks, with 28.9 s for sync and 33.9 s for tests. The importer golden compares 141 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.
44- `tools/testdata/selftest` (22 checks) and `tools/testdata/ship-selftest` test the tools themselves.
44- `tools/testdata/selftest` (22 checks) and `tools/testdata/ship-selftest` test the tools themselves.
45- 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.
45- 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.
46- 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).
46- 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).
@@ -81,14 +81,15 @@ Besides the plan's list:
81| 743dfd8 | 2026-10-30 | Propagate union context through unit-shaped branches |
81| 743dfd8 | 2026-10-30 | Propagate union context through unit-shaped branches |
82| 3f90fa8 | 2026-10-30 | Share a partial prelude interface across module inference |
82| 3f90fa8 | 2026-10-30 | Share a partial prelude interface across module inference |
83| 29bd39f | 2026-10-30 | Infer contextual list literals and validate prelude parity |
83| 29bd39f | 2026-10-30 | Infer contextual list literals and validate prelude parity |
84−| This change | 2026-10-30 | Infer complete list-shaped branches |
84+| a2a6ef5 | 2026-10-30 | Infer complete list-shaped branches |
85+| This change | 2026-10-30 | Infer contextual list nulls and cons cells |
85
86
86## Checking it
87## Checking it
87
88
88On a machine set up as [development.md](development.md) says:
89On a machine set up as [development.md](development.md) says:
89
90
90```
91```
91−tools/golden # 501 cases under urbit eval
92+tools/golden # 502 cases under urbit eval
92tools/importer-test # the Hoon importer fixture projection
93tools/importer-test # the Hoon importer fixture projection
93tools/type-import-test # the importer/checker bridge fixture
94tools/type-import-test # the importer/checker bridge fixture
94tools/type-mark-test # the mark/checker bridge fixture
95tools/type-mark-test # the mark/checker bridge fixture
@@ -98,7 +99,7 @@ tools/testdata/selftest # the tools themselves
98tools/doc-blocks docs/spec # the doc's examples are golden cases
99tools/doc-blocks docs/spec # the doc's examples are golden cases
99tools/ship start
100tools/ship start
100tools/ship gen-tests --check # tests/lib/jibb.hoon is up to date
101tools/ship gen-tests --check # tests/lib/jibb.hoon is up to date
101−tools/ship test # the same 501 cases as -test arms on the ship
102+tools/ship test # the same 502 cases as -test arms on the ship
102tools/testdata/ship-selftest
103tools/testdata/ship-selftest
103tools/ship check-commit # |commit stores .jibb files
104tools/ship check-commit # |commit stores .jibb files
104tools/clay-fixtures # example /sur files and marks build through Clay
105tools/clay-fixtures # example /sur files and marks build through Clay
jibb-dev/lib/jibb.hoon+36−11
@@ -6150,15 +6150,17 @@
6150 [%| ["branch arm does not fit its expected union" ~[[context "expected union"] [(span-of e) "branch arm"]]]]
6150 [%| ["branch arm does not fit its expected union" ~[[context "expected union"] [(span-of e) "branch arm"]]]]
6151 [%& expected state.p.value(sub sub.fit, next next.fit)]
6151 [%& expected state.p.value(sub sub.fit, next next.fit)]
6152::
6152::
6153−:: A list literal needs a known list target and the validated prelude list.
6153+:: A list expression needs a known list target and the validated prelude list.
6154+:: Literal items and unfaced two-item cons cells receive that target one by
6154−:: Its items receive that target one by one; pending constraints elsewhere
6155+:: one; pending constraints elsewhere stay in the threaded state.
6155−:: stay in the threaded state. Other list syntax remains unsupported.
6156::
6156::
6157−++ context-list-literal
6157+++ context-list-expression
6158 |= e=expr
6158 |= e=expr
6159 ^- ?
6159 ^- ?
6160 ?- -.e
6160 ?- -.e
6161 %list &
6161 %list &
6162+ %tuple &
6163+ %lit |(=(%null form.lit.e) &(=(%term form.lit.e) =(0 val.lit.e)))
6162 %group $(e inner.e)
6164 %group $(e inner.e)
6163 %body ?~(defs.e $(e final.e) |)
6165 %body ?~(defs.e $(e final.e) |)
6164 * |
6166 * |
@@ -6169,7 +6171,6 @@
6169 ^- iresult
6171 ^- iresult
6170 ?: ?=(%group -.e) $(e inner.e)
6172 ?: ?=(%group -.e) $(e inner.e)
6171 ?: &(?=(%body -.e) ?=(~ defs.e)) $(e final.e)
6173 ?: &(?=(%body -.e) ?=(~ defs.e)) $(e final.e)
6172− ?> ?=(%list -.e)
6173 ?~ prelude.state [%| ["list literal needs the standard prelude in partial inference" ~]]
6174 ?~ prelude.state [%| ["list literal needs the standard prelude in partial inference" ~]]
6174 ?. =(at.u.prelude.state /lib/jibb/prelude/jibb)
6175 ?. =(at.u.prelude.state /lib/jibb/prelude/jibb)
6175 [%| ["list literal needs the standard prelude in partial inference" ~]]
6176 [%| ["list literal needs the standard prelude in partial inference" ~]]
@@ -6182,9 +6183,33 @@
6182 ?. =(%list name.target) [%| ["list context is not supported by partial inference" ~]]
6183 ?. =(%list name.target) [%| ["list context is not supported by partial inference" ~]]
6183 ?~ args.target [%| ["list context is not supported by partial inference" ~]]
6184 ?~ args.target [%| ["list context is not supported by partial inference" ~]]
6184 ?^ t.args.target [%| ["list context is not supported by partial inference" ~]]
6185 ?^ t.args.target [%| ["list context is not supported by partial inference" ~]]
6186+ ?: ?=(%lit -.e)
6187+ ?. |(=(%null form.lit.e) &(=(%term form.lit.e) =(0 val.lit.e)))
6188+ [%| ["list expression is not supported by partial inference" ~]]
6189+ [%& target state]
6190+ ?: ?=(%list -.e)
6185− =/ result=iresult (infer-list-items items.e i.args.target env state context)
6191+ =/ result=iresult (infer-list-items items.e i.args.target env state context)
6186− ?: ?=(%| -.result) result
6192+ ?: ?=(%| -.result) result
6187− [%& target state.p.result]
6193+ [%& target state.p.result]
6194+ ?. ?=(%tuple -.e) [%| ["list expression is not supported by partial inference" ~]]
6195+ ?~ items.e [%| ["cons shape is not supported by partial inference" ~]]
6196+ ?~ t.items.e [%| ["cons shape is not supported by partial inference" ~]]
6197+ ?^ t.t.items.e [%| ["cons shape is not supported by partial inference" ~]]
6198+ ?^ face.i.items.e [%| ["faced cons is not supported by partial inference" ~]]
6199+ ?^ face.i.t.items.e [%| ["faced cons is not supported by partial inference" ~]]
6200+ =/ head=iresult (infer-list-items ~[val.i.items.e] i.args.target env state context)
6201+ ?: ?=(%| -.head) head
6202+ =/ target=itype (itype-walk target sub.state.p.head)
6203+ =/ tail=iresult
6204+ ?: (context-list-expression val.i.t.items.e)
6205+ (infer-list-context val.i.t.items.e target env state.p.head context)
6206+ (infer-fragment val.i.t.items.e env state.p.head)
6207+ ?: ?=(%| -.tail) tail
6208+ =/ fit=ifit (itype-fit typ.p.tail target sub.state.p.tail next.state.p.tail)
6209+ ?: ?=(%unknown -.fit) [%| ["list tail constraint is not supported by partial inference" ~]]
6210+ ?: ?=(%bad -.fit)
6211+ [%| ["list tail does not fit its expected type" ~[[context (site-type-note "expected list" target sub.state.p.tail)] [(span-of val.i.t.items.e) (site-type-note "list tail" typ.p.tail sub.state.p.tail)]]]]
6212+ [%& target state.p.tail(sub sub.fit, next next.fit)]
6188::
6213::
6189++ infer-list-items
6214++ infer-list-items
6190 |= [items=(list expr) expected=itype env=ienv state=istate context=span]
6215 |= [items=(list expr) expected=itype env=ienv state=istate context=span]
@@ -6194,7 +6219,7 @@
6194 =/ value=iresult
6219 =/ value=iresult
6195 ?: &(?=(%union -.target) (context-union-branch i.items))
6220 ?: &(?=(%union -.target) (context-union-branch i.items))
6196 (infer-union-context i.items target env state context)
6221 (infer-union-context i.items target env state context)
6197− ?: &(?=(%collection -.target) =(%list name.target) (context-list-literal i.items))
6222+ ?: &(?=(%collection -.target) =(%list name.target) (context-list-expression i.items))
6198 (infer-list-context i.items target env state context)
6223 (infer-list-context i.items target env state context)
6199 (infer-fragment i.items env state)
6224 (infer-fragment i.items env state)
6200 ?: ?=(%| -.value) value
6225 ?: ?=(%| -.value) value
@@ -6460,7 +6485,7 @@
6460 =/ value=iresult
6485 =/ value=iresult
6461 ?: &(?=(%union -.typ.u.target) (context-union-branch val.e))
6486 ?: &(?=(%union -.typ.u.target) (context-union-branch val.e))
6462 (infer-union-context val.e typ.u.target env state.u.target at.shape.e)
6487 (infer-union-context val.e typ.u.target env state.u.target at.shape.e)
6463− ?: &(?=(%collection -.typ.u.target) =(%list name.typ.u.target) (context-list-literal val.e))
6488+ ?: &(?=(%collection -.typ.u.target) =(%list name.typ.u.target) (context-list-expression val.e))
6464 (infer-list-context val.e typ.u.target env state.u.target at.shape.e)
6489 (infer-list-context val.e typ.u.target env state.u.target at.shape.e)
6465 $(e val.e, state state.u.target)
6490 $(e val.e, state state.u.target)
6466 ?: ?=(%| -.value) value
6491 ?: ?=(%| -.value) value
@@ -6492,7 +6517,7 @@
6492 =/ arg=iresult
6517 =/ arg=iresult
6493 ?: &(?=(%fn -.head-type) ?=(%union -.sample.head-type) (context-union-branch i.args.e))
6518 ?: &(?=(%fn -.head-type) ?=(%union -.sample.head-type) (context-union-branch i.args.e))
6494 (infer-union-context i.args.e sample.head-type env state.p.head (span-of head.e))
6519 (infer-union-context i.args.e sample.head-type env state.p.head (span-of head.e))
6495− ?: &(?=(%fn -.head-type) ?=(%collection -.sample.head-type) =(%list name.sample.head-type) (context-list-literal i.args.e))
6520+ ?: &(?=(%fn -.head-type) ?=(%collection -.sample.head-type) =(%list name.sample.head-type) (context-list-expression i.args.e))
6496 (infer-list-context i.args.e sample.head-type env state.p.head (span-of head.e))
6521 (infer-list-context i.args.e sample.head-type env state.p.head (span-of head.e))
6497 $(e i.args.e, state state.p.head)
6522 $(e i.args.e, state state.p.head)
6498 ?: ?=(%| -.arg) arg
6523 ?: ?=(%| -.arg) arg
tests/golden/types-list-cons/about.txtnew file+4
@@ -0,0 +1,4 @@
1+source: Grammar, Literals by context: "Where a list is expected, `[x xs]` is `x` in front of `xs`."
2+tests: Null, term-zero tails, nested cons and list elements take context, while mismatches, unsupported cells and unrelated pending literals are reported.
3+expect: parses
4+expect-types: a partial inference report
tests/golden/types-list-cons/modules.txtnew file+1
@@ -0,0 +1 @@
1+# Use the source-validated prelude.
tests/golden/types-list-cons/source.jibbnew file+20
@@ -0,0 +1,20 @@
1+++ empty ^- (list @t) ~
2+++ one ^- (list @t) ["a" ~]
3+++ zero-tail ^- (list @t) ["a" %$]
4+++ zero-number ^- (list @t) ["a" %0]
5+++ zero-amp ^- (list @t) ["a" %&]
6+++ multiple ^- (list @t) ["a" ["b" ~]]
7+++ nested ^- (list (list @t)) [~["a"] ~]
8+++ nested-cons ^- (list (list @t)) [["a" ~] ~]
9+++ take |= xs=(list @t) xs
10+++ call (take ["hi" ~])
11+++ bad-head ^- (list @t) [~zod ~]
12+++ bad-tail ^- (list @t) ["hi" ~zod]
13+++ faced ^- (list @t) [i="hi" t=~]
14+++ three ^- (list @t) ["a" "b" ~]
15+++ pending
16+ ~& %unknown
17+ ^- (list @t) ["hi" ~]
18+++ pending-null
19+ ~& ~
20+ ^- (list @t) ["hi" ~]
tests/golden/types-list-cons/tokens.txtnew file+217
@@ -0,0 +1,217 @@
1+1:1 glyph ++
2+1:4 name empty
3+1:10 glyph ^-
4+1:13 glyph (
5+1:14 tight name list
6+1:19 aura @t
7+1:21 tight glyph )
8+1:23 lit ~
9+2:1 NEWLINE
10+2:1 glyph ++
11+2:4 name one
12+2:8 glyph ^-
13+2:11 glyph (
14+2:12 tight name list
15+2:17 aura @t
16+2:19 tight glyph )
17+2:21 glyph [
18+2:22 tight str "a"
19+2:26 lit ~
20+2:27 tight glyph ]
21+3:1 NEWLINE
22+3:1 glyph ++
23+3:4 name zero-tail
24+3:14 glyph ^-
25+3:17 glyph (
26+3:18 tight name list
27+3:23 aura @t
28+3:25 tight glyph )
29+3:27 glyph [
30+3:28 tight str "a"
31+3:32 lit %$
32+3:34 tight glyph ]
33+4:1 NEWLINE
34+4:1 glyph ++
35+4:4 name zero-number
36+4:16 glyph ^-
37+4:19 glyph (
38+4:20 tight name list
39+4:25 aura @t
40+4:27 tight glyph )
41+4:29 glyph [
42+4:30 tight str "a"
43+4:34 lit %0
44+4:36 tight glyph ]
45+5:1 NEWLINE
46+5:1 glyph ++
47+5:4 name zero-amp
48+5:13 glyph ^-
49+5:16 glyph (
50+5:17 tight name list
51+5:22 aura @t
52+5:24 tight glyph )
53+5:26 glyph [
54+5:27 tight str "a"
55+5:31 lit %&
56+5:33 tight glyph ]
57+6:1 NEWLINE
58+6:1 glyph ++
59+6:4 name multiple
60+6:13 glyph ^-
61+6:16 glyph (
62+6:17 tight name list
63+6:22 aura @t
64+6:24 tight glyph )
65+6:26 glyph [
66+6:27 tight str "a"
67+6:31 glyph [
68+6:32 tight str "b"
69+6:36 lit ~
70+6:37 tight glyph ]
71+6:38 tight glyph ]
72+7:1 NEWLINE
73+7:1 glyph ++
74+7:4 name nested
75+7:11 glyph ^-
76+7:14 glyph (
77+7:15 tight name list
78+7:20 glyph (
79+7:21 tight name list
80+7:26 aura @t
81+7:28 tight glyph )
82+7:29 tight glyph )
83+7:31 glyph [
84+7:32 tight glyph ~[
85+7:34 tight str "a"
86+7:37 tight glyph ]
87+7:39 lit ~
88+7:40 tight glyph ]
89+8:1 NEWLINE
90+8:1 glyph ++
91+8:4 name nested-cons
92+8:16 glyph ^-
93+8:19 glyph (
94+8:20 tight name list
95+8:25 glyph (
96+8:26 tight name list
97+8:31 aura @t
98+8:33 tight glyph )
99+8:34 tight glyph )
100+8:36 glyph [
101+8:37 tight glyph [
102+8:38 tight str "a"
103+8:42 lit ~
104+8:43 tight glyph ]
105+8:45 lit ~
106+8:46 tight glyph ]
107+9:1 NEWLINE
108+9:1 glyph ++
109+9:4 name take
110+9:9 glyph |=
111+9:12 name xs
112+9:14 tight glyph =
113+9:15 tight glyph (
114+9:16 tight name list
115+9:21 aura @t
116+9:23 tight glyph )
117+9:25 name xs
118+10:1 NEWLINE
119+10:1 glyph ++
120+10:4 name call
121+10:9 glyph (
122+10:10 tight name take
123+10:15 glyph [
124+10:16 tight str "hi"
125+10:21 lit ~
126+10:22 tight glyph ]
127+10:23 tight glyph )
128+11:1 NEWLINE
129+11:1 glyph ++
130+11:4 name bad-head
131+11:13 glyph ^-
132+11:16 glyph (
133+11:17 tight name list
134+11:22 aura @t
135+11:24 tight glyph )
136+11:26 glyph [
137+11:27 tight lit ~zod
138+11:32 lit ~
139+11:33 tight glyph ]
140+12:1 NEWLINE
141+12:1 glyph ++
142+12:4 name bad-tail
143+12:13 glyph ^-
144+12:16 glyph (
145+12:17 tight name list
146+12:22 aura @t
147+12:24 tight glyph )
148+12:26 glyph [
149+12:27 tight str "hi"
150+12:32 lit ~zod
151+12:36 tight glyph ]
152+13:1 NEWLINE
153+13:1 glyph ++
154+13:4 name faced
155+13:10 glyph ^-
156+13:13 glyph (
157+13:14 tight name list
158+13:19 aura @t
159+13:21 tight glyph )
160+13:23 glyph [
161+13:24 tight name i
162+13:25 tight glyph =
163+13:26 tight str "hi"
164+13:31 name t
165+13:32 tight glyph =
166+13:33 tight lit ~
167+13:34 tight glyph ]
168+14:1 NEWLINE
169+14:1 glyph ++
170+14:4 name three
171+14:10 glyph ^-
172+14:13 glyph (
173+14:14 tight name list
174+14:19 aura @t
175+14:21 tight glyph )
176+14:23 glyph [
177+14:24 tight str "a"
178+14:28 str "b"
179+14:32 lit ~
180+14:33 tight glyph ]
181+15:1 NEWLINE
182+15:1 glyph ++
183+15:4 name pending
184+16:3 INDENT
185+16:3 glyph ~&
186+16:6 lit %unknown
187+17:5 INDENT
188+17:5 glyph ^-
189+17:8 glyph (
190+17:9 tight name list
191+17:14 aura @t
192+17:16 tight glyph )
193+17:18 glyph [
194+17:19 tight str "hi"
195+17:24 lit ~
196+17:25 tight glyph ]
197+18:1 DEDENT
198+18:1 DEDENT
199+18:1 NEWLINE
200+18:1 glyph ++
201+18:4 name pending-null
202+19:3 INDENT
203+19:3 glyph ~&
204+19:6 lit ~
205+20:5 INDENT
206+20:5 glyph ^-
207+20:8 glyph (
208+20:9 tight name list
209+20:14 aura @t
210+20:16 tight glyph )
211+20:18 glyph [
212+20:19 tight str "hi"
213+20:24 lit ~
214+20:25 tight glyph ]
215+20:26 DEDENT
216+20:26 DEDENT
217+20:26 NEWLINE
tests/golden/types-list-cons/tree.txtnew file+85
@@ -0,0 +1,85 @@
1+(module
2+ (value 1:1 empty
3+ (cast 1:10
4+ (apply 1:13 list (aura 1:19 @t))
5+ (lit 1:23 ~)))
6+ (value 2:1 one
7+ (cast 2:8
8+ (apply 2:11 list (aura 2:17 @t))
9+ (tuple 2:21 (str 2:22 "a") (lit 2:26 ~))))
10+ (value 3:1 zero-tail
11+ (cast 3:14
12+ (apply 3:17 list (aura 3:23 @t))
13+ (tuple 3:27 (str 3:28 "a") (lit 3:32 %$))))
14+ (value 4:1 zero-number
15+ (cast 4:16
16+ (apply 4:19 list (aura 4:25 @t))
17+ (tuple 4:29 (str 4:30 "a") (lit 4:34 %0))))
18+ (value 5:1 zero-amp
19+ (cast 5:13
20+ (apply 5:16 list (aura 5:22 @t))
21+ (tuple 5:26 (str 5:27 "a") (lit 5:31 %&))))
22+ (value 6:1 multiple
23+ (cast 6:13
24+ (apply 6:16 list (aura 6:22 @t))
25+ (tuple 6:26
26+ (str 6:27 "a")
27+ (tuple 6:31 (str 6:32 "b") (lit 6:36 ~)))))
28+ (value 7:1 nested
29+ (cast 7:11
30+ (apply 7:14 list
31+ (apply 7:20 list (aura 7:26 @t)))
32+ (tuple 7:31
33+ (list 7:32 (str 7:34 "a"))
34+ (lit 7:39 ~))))
35+ (value 8:1 nested-cons
36+ (cast 8:16
37+ (apply 8:19 list
38+ (apply 8:25 list (aura 8:31 @t)))
39+ (tuple 8:36
40+ (tuple 8:37 (str 8:38 "a") (lit 8:42 ~))
41+ (lit 8:45 ~))))
42+ (value 9:1 take
43+ (gate 9:9
44+ (face 9:12 xs
45+ (apply 9:15 list (aura 9:21 @t)))
46+ (wing 9:25 xs)))
47+ (value 10:1 call
48+ (group 10:9
49+ (call 10:10
50+ (wing 10:10 take)
51+ (tuple 10:15 (str 10:16 "hi") (lit 10:21 ~)))))
52+ (value 11:1 bad-head
53+ (cast 11:13
54+ (apply 11:16 list (aura 11:22 @t))
55+ (tuple 11:26 (lit 11:27 ~zod) (lit 11:32 ~))))
56+ (value 12:1 bad-tail
57+ (cast 12:13
58+ (apply 12:16 list (aura 12:22 @t))
59+ (tuple 12:26 (str 12:27 "hi") (lit 12:32 ~zod))))
60+ (value 13:1 faced
61+ (cast 13:10
62+ (apply 13:13 list (aura 13:19 @t))
63+ (tuple 13:23
64+ (face 13:24 i (str 13:26 "hi"))
65+ (face 13:31 t (lit 13:33 ~)))))
66+ (value 14:1 three
67+ (cast 14:10
68+ (apply 14:13 list (aura 14:19 @t))
69+ (tuple 14:23 (str 14:24 "a") (str 14:28 "b") (lit 14:32 ~))))
70+ (value 15:1 pending
71+ (body 16:3
72+ (trace 16:3
73+ (lit 16:6 %unknown)
74+ (body 17:5
75+ (cast 17:5
76+ (apply 17:8 list (aura 17:14 @t))
77+ (tuple 17:18 (str 17:19 "hi") (lit 17:24 ~)))))))
78+ (value 18:1 pending-null
79+ (body 19:3
80+ (trace 19:3
81+ (lit 19:6 ~)
82+ (body 20:5
83+ (cast 20:5
84+ (apply 20:8 list (aura 20:14 @t))
85+ (tuple 20:18 (str 20:19 "hi") (lit 20:24 ~))))))))
tests/golden/types-list-cons/types.txtnew file+29
@@ -0,0 +1,29 @@
1+partial inference; module not checked
2+++ empty: (list @t)
3+++ one: (list @t)
4+++ zero-tail: (list @t)
5+++ zero-number: (list @t)
6+++ zero-amp: (list @t)
7+++ multiple: (list @t)
8+++ nested: (list (list @t))
9+++ nested-cons: (list (list @t))
10+++ take: $-((list @t) (list @t))
11+++ call: (list @t)
12+++ bad-head: list item does not fit its expected type
13+/tests/golden/types-list-cons/source.jibb:11:16: expected item has type @t
14+++ bad-head ^- (list @t) [~zod ~]
15+ ^
16+/tests/golden/types-list-cons/source.jibb:11:27: list item has type @p
17+++ bad-head ^- (list @t) [~zod ~]
18+ ^
19+++ bad-tail: list tail does not fit its expected type
20+/tests/golden/types-list-cons/source.jibb:12:16: expected list has type (list @t)
21+++ bad-tail ^- (list @t) ["hi" ~zod]
22+ ^
23+/tests/golden/types-list-cons/source.jibb:12:32: list tail has type @p
24+++ bad-tail ^- (list @t) ["hi" ~zod]
25+ ^
26+++ faced: faced cons is not supported by partial inference
27+++ three: cons shape is not supported by partial inference
28+++ pending: tag needs context in partial inference
29+++ pending-null: `~` needs context in partial inference
tests/golden/types-list-imported/about.txt+1−1
@@ -1,4 +1,4 @@
1source: Overview, Importing Hoon types: "`/-` and `/%` translate each mold a module uses from `/sur` files and marks"; Grammar, Molds: containers include `(list A)`.
1source: Overview, Importing Hoon types: "`/-` and `/%` translate each mold a module uses from `/sur` files and marks"; Grammar, Molds: containers include `(list A)`.
2−tests: A real Hoon list import and the prelude list type agree in both directions, a list literal fits an imported sample, and incompatible element types report both sites.
2+tests: A real Hoon list import and the prelude list type agree in both directions, list literals, null and cons cells fit imported contexts, and incompatible element types report both sites.
3expect: parses
3expect: parses
4expect-types: a partial inference report
4expect-types: a partial inference report
tests/golden/types-list-imported/source.jibb+3
@@ -4,3 +4,6 @@
4++ to-imported |= xs=(list @t) (take xs)
4++ to-imported |= xs=(list @t) (take xs)
5++ literal (take ~["hi"])
5++ literal (take ~["hi"])
6++ bad |= xs=ships.fixture (take xs)
6++ bad |= xs=ships.fixture (take xs)
7+++ cons (take ["hi" ~])
8+++ empty ^- texts.fixture ~
9+++ bad-cons ^- texts.fixture [~zod ~]
tests/golden/types-list-imported/tokens.txt+26−1
@@ -55,4 +55,29 @@
556:29 tight name take
556:29 tight name take
566:34 name xs
566:34 name xs
576:36 tight glyph )
576:36 tight glyph )
58+7:1 NEWLINE
59+7:1 glyph ++
60+7:4 name cons
61+7:9 glyph (
62+7:10 tight name take
63+7:15 glyph [
64+7:16 tight str "hi"
65+7:21 lit ~
66+7:22 tight glyph ]
67+7:23 tight glyph )
68+8:1 NEWLINE
69+8:1 glyph ++
70+8:4 name empty
71+8:10 glyph ^-
72+8:13 wing texts.fixture
73+8:27 lit ~
74+9:1 NEWLINE
75+9:1 glyph ++
76+9:4 name bad-cons
77+9:13 glyph ^-
78+9:16 wing texts.fixture
79+9:30 glyph [
80+9:31 tight lit ~zod
81+9:36 lit ~
82+9:37 tight glyph ]
58−6:37 NEWLINE
83+9:38 NEWLINE
tests/golden/types-list-imported/tree.txt+12−1
@@ -25,4 +25,15 @@
25 (gate 6:8
25 (gate 6:8
26 (face 6:11 xs (ref 6:14 ships.fixture))
26 (face 6:11 xs (ref 6:14 ships.fixture))
27 (group 6:28
27 (group 6:28
28− (call 6:29 (wing 6:29 take) (wing 6:34 xs))))))
28+ (call 6:29 (wing 6:29 take) (wing 6:34 xs)))))
29+ (value 7:1 cons
30+ (group 7:9
31+ (call 7:10
32+ (wing 7:10 take)
33+ (tuple 7:15 (str 7:16 "hi") (lit 7:21 ~)))))
34+ (value 8:1 empty
35+ (cast 8:10 (ref 8:13 texts.fixture) (lit 8:27 ~)))
36+ (value 9:1 bad-cons
37+ (cast 9:13
38+ (ref 9:16 texts.fixture)
39+ (tuple 9:30 (lit 9:31 ~zod) (lit 9:36 ~)))))
tests/golden/types-list-imported/types.txt+9
@@ -10,3 +10,12 @@ partial inference; module not checked
10/tests/golden/types-list-imported/source.jibb:6:34: argument has type (list @p)
10/tests/golden/types-list-imported/source.jibb:6:34: argument has type (list @p)
11++ bad |= xs=ships.fixture (take xs)
11++ bad |= xs=ships.fixture (take xs)
12 ^
12 ^
13+++ cons: (list @t)
14+++ empty: (list @t)
15+++ bad-cons: list item does not fit its expected type
16+/tests/golden/types-list-imported/source.jibb:9:16: expected item has type @t
17+++ bad-cons ^- texts.fixture [~zod ~]
18+ ^
19+/tests/golden/types-list-imported/source.jibb:9:31: list item has type @p
20+++ bad-cons ^- texts.fixture [~zod ~]
21+ ^
tests/lib/jibb-module-scope.hoon+1−1
@@ -54,7 +54,7 @@
54::
54::
55++ list-guard
55++ list-guard
56 ^- @t
56 ^- @t
57− =/ source=@t (crip "/- fixture\0a++ imported |= x=texts.fixture x\0a++ imported-pattern |= xs=texts.fixture\0a ?- xs\0a ~ !!\0a [item rest] item\0a++ imported-literal ^- texts.fixture ~[\"hi\"]\0a++ literal ^- (list @t) ~[\"hi\"]\0a++ bridge |= x=texts.fixture ^- (list @t) x\0a")
57+ =/ source=@t (crip "/- fixture\0a++ imported |= x=texts.fixture x\0a++ imported-cons ^- texts.fixture [\"hi\" ~]\0a++ imported-empty ^- texts.fixture ~\0a++ imported-pattern |= xs=texts.fixture\0a ?- xs\0a ~ !!\0a [item rest] item\0a++ imported-literal ^- texts.fixture ~[\"hi\"]\0a++ literal ^- (list @t) ~[\"hi\"]\0a++ bridge |= x=texts.fixture ^- (list @t) x\0a")
58 =/ ext=(list [module=term name=term result=*])
58 =/ ext=(list [module=term name=term result=*])
59 ~[[%fixture %texts [%& [%apply %list ~[[%atom %t ~]]]]]]
59 ~[[%fixture %texts [%& [%apply %list ~[[%atom %t ~]]]]]]
60 =/ omitted=@t (crip "++ same |=(x x)\0a")
60 =/ omitted=@t (crip "++ same |=(x x)\0a")
tests/lib/jibb.hoon+395−389
@@ -1444,323 +1444,327 @@
1444/* typ-429 %txt /tests/golden/types-import-sur-record-graph/types/txt
1444/* typ-429 %txt /tests/golden/types-import-sur-record-graph/types/txt
1445/* imp-429-1 %txt /tests/golden/types-import-sur-record-graph/sur/fixture/txt
1445/* imp-429-1 %txt /tests/golden/types-import-sur-record-graph/sur/fixture/txt
1446/* mtre-429 %txt /tests/golden/types-import-sur-record-graph/module-trees/txt
1446/* mtre-429 %txt /tests/golden/types-import-sur-record-graph/module-trees/txt
1447−/* src-430 %jibb /tests/golden/types-list-context/source/jibb
1447+/* src-430 %jibb /tests/golden/types-list-cons/source/jibb
1448−/* tok-430 %txt /tests/golden/types-list-context/tokens/txt
1448+/* tok-430 %txt /tests/golden/types-list-cons/tokens/txt
1449−/* tre-430 %txt /tests/golden/types-list-context/tree/txt
1449+/* tre-430 %txt /tests/golden/types-list-cons/tree/txt
1450−/* typ-430 %txt /tests/golden/types-list-context/types/txt
1450+/* typ-430 %txt /tests/golden/types-list-cons/types/txt
1451−/* src-431 %jibb /tests/golden/types-list-imported/source/jibb
1451+/* src-431 %jibb /tests/golden/types-list-context/source/jibb
1452−/* tok-431 %txt /tests/golden/types-list-imported/tokens/txt
1452+/* tok-431 %txt /tests/golden/types-list-context/tokens/txt
1453−/* tre-431 %txt /tests/golden/types-list-imported/tree/txt
1453+/* tre-431 %txt /tests/golden/types-list-context/tree/txt
1454−/* typ-431 %txt /tests/golden/types-list-imported/types/txt
1454+/* typ-431 %txt /tests/golden/types-list-context/types/txt
1455−/* imp-431-1 %txt /tests/golden/types-list-imported/sur/fixture/txt
1455+/* src-432 %jibb /tests/golden/types-list-imported/source/jibb
1456−/* imp-431-2 %txt /tests/golden/types-list-imported/sur/fixture/txt
1456+/* tok-432 %txt /tests/golden/types-list-imported/tokens/txt
1457−/* src-432 %jibb /tests/golden/types-list-pattern-imported/source/jibb
1457+/* tre-432 %txt /tests/golden/types-list-imported/tree/txt
1458−/* tok-432 %txt /tests/golden/types-list-pattern-imported/tokens/txt
1458+/* typ-432 %txt /tests/golden/types-list-imported/types/txt
1459−/* tre-432 %txt /tests/golden/types-list-pattern-imported/tree/txt
1459+/* imp-432-1 %txt /tests/golden/types-list-imported/sur/fixture/txt
1460−/* typ-432 %txt /tests/golden/types-list-pattern-imported/types/txt
1460+/* imp-432-2 %txt /tests/golden/types-list-imported/sur/fixture/txt
1461−/* imp-432-1 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1461+/* src-433 %jibb /tests/golden/types-list-pattern-imported/source/jibb
1462−/* imp-432-2 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1462+/* tok-433 %txt /tests/golden/types-list-pattern-imported/tokens/txt
1463−/* src-433 %jibb /tests/golden/types-list-patterns/source/jibb
1463+/* tre-433 %txt /tests/golden/types-list-pattern-imported/tree/txt
1464−/* tok-433 %txt /tests/golden/types-list-patterns/tokens/txt
1464+/* typ-433 %txt /tests/golden/types-list-pattern-imported/types/txt
1465−/* tre-433 %txt /tests/golden/types-list-patterns/tree/txt
1465+/* imp-433-1 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1466−/* typ-433 %txt /tests/golden/types-list-patterns/types/txt
1466+/* imp-433-2 %txt /tests/golden/types-list-pattern-imported/sur/fixture/txt
1467−/* src-434 %jibb /tests/golden/types-module-fixtures/source/jibb
1467+/* src-434 %jibb /tests/golden/types-list-patterns/source/jibb
1468−/* tok-434 %txt /tests/golden/types-module-fixtures/tokens/txt
1468+/* tok-434 %txt /tests/golden/types-list-patterns/tokens/txt
1469−/* tre-434 %txt /tests/golden/types-module-fixtures/tree/txt
1469+/* tre-434 %txt /tests/golden/types-list-patterns/tree/txt
1470−/* mod-434-1 %jibb /tests/golden/types-module-fixtures/modules/ui/api/blog/jibb
1470+/* typ-434 %txt /tests/golden/types-list-patterns/types/txt
1471−/* mod-434-2 %jibb /tests/golden/types-module-fixtures/modules/ui/components/card/jibb
1471+/* src-435 %jibb /tests/golden/types-module-fixtures/source/jibb
1472−/* typ-434 %txt /tests/golden/types-module-fixtures/types/txt
1472+/* tok-435 %txt /tests/golden/types-module-fixtures/tokens/txt
1473−/* mtre-434 %txt /tests/golden/types-module-fixtures/module-trees/txt
1473+/* tre-435 %txt /tests/golden/types-module-fixtures/tree/txt
1474−/* src-435 %jibb /tests/golden/types-module-mixed/source/jibb
1474+/* mod-435-1 %jibb /tests/golden/types-module-fixtures/modules/ui/api/blog/jibb
1475−/* tok-435 %txt /tests/golden/types-module-mixed/tokens/txt
1475+/* mod-435-2 %jibb /tests/golden/types-module-fixtures/modules/ui/components/card/jibb
1476−/* tre-435 %txt /tests/golden/types-module-mixed/tree/txt
1476+/* typ-435 %txt /tests/golden/types-module-fixtures/types/txt
1477−/* mod-435-1 %jibb /tests/golden/types-module-mixed/modules/ui/helper/jibb
1477+/* mtre-435 %txt /tests/golden/types-module-fixtures/module-trees/txt
1478−/* typ-435 %txt /tests/golden/types-module-mixed/types/txt
1478+/* src-436 %jibb /tests/golden/types-module-mixed/source/jibb
1479−/* imp-435-1 %txt /tests/golden/types-module-mixed/sur/fixture/txt
1479+/* tok-436 %txt /tests/golden/types-module-mixed/tokens/txt
1480−/* mark-435-1 %txt /tests/golden/types-module-mixed/mar/label/txt
1480+/* tre-436 %txt /tests/golden/types-module-mixed/tree/txt
1481−/* mtre-435 %txt /tests/golden/types-module-mixed/module-trees/txt
1481+/* mod-436-1 %jibb /tests/golden/types-module-mixed/modules/ui/helper/jibb
1482−/* src-436 %jibb /tests/golden/types-null-context/source/jibb
1482+/* typ-436 %txt /tests/golden/types-module-mixed/types/txt
1483−/* tok-436 %txt /tests/golden/types-null-context/tokens/txt
1483+/* imp-436-1 %txt /tests/golden/types-module-mixed/sur/fixture/txt
1484−/* tre-436 %txt /tests/golden/types-null-context/tree/txt
1484+/* mark-436-1 %txt /tests/golden/types-module-mixed/mar/label/txt
1485−/* typ-436 %txt /tests/golden/types-null-context/types/txt
1485+/* mtre-436 %txt /tests/golden/types-module-mixed/module-trees/txt
1486−/* src-437 %jibb /tests/golden/types-null-overlap/source/jibb
1486+/* src-437 %jibb /tests/golden/types-null-context/source/jibb
1487−/* tok-437 %txt /tests/golden/types-null-overlap/tokens/txt
1487+/* tok-437 %txt /tests/golden/types-null-context/tokens/txt
1488−/* tre-437 %txt /tests/golden/types-null-overlap/tree/txt
1488+/* tre-437 %txt /tests/golden/types-null-context/tree/txt
1489−/* typ-437 %txt /tests/golden/types-null-overlap/types/txt
1489+/* typ-437 %txt /tests/golden/types-null-context/types/txt
1490−/* src-438 %jibb /tests/golden/types-null-unresolved/source/jibb
1490+/* src-438 %jibb /tests/golden/types-null-overlap/source/jibb
1491−/* tok-438 %txt /tests/golden/types-null-unresolved/tokens/txt
1491+/* tok-438 %txt /tests/golden/types-null-overlap/tokens/txt
1492−/* tre-438 %txt /tests/golden/types-null-unresolved/tree/txt
1492+/* tre-438 %txt /tests/golden/types-null-overlap/tree/txt
1493−/* typ-438 %txt /tests/golden/types-null-unresolved/types/txt
1493+/* typ-438 %txt /tests/golden/types-null-overlap/types/txt
1494−/* src-439 %jibb /tests/golden/types-partial-apply/source/jibb
1494+/* src-439 %jibb /tests/golden/types-null-unresolved/source/jibb
1495−/* tok-439 %txt /tests/golden/types-partial-apply/tokens/txt
1495+/* tok-439 %txt /tests/golden/types-null-unresolved/tokens/txt
1496−/* tre-439 %txt /tests/golden/types-partial-apply/tree/txt
1496+/* tre-439 %txt /tests/golden/types-null-unresolved/tree/txt
1497−/* typ-439 %txt /tests/golden/types-partial-apply/types/txt
1497+/* typ-439 %txt /tests/golden/types-null-unresolved/types/txt
1498−/* src-440 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1498+/* src-440 %jibb /tests/golden/types-partial-apply/source/jibb
1499−/* tok-440 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1499+/* tok-440 %txt /tests/golden/types-partial-apply/tokens/txt
1500−/* tre-440 %txt /tests/golden/types-partial-atom-alias/tree/txt
1500+/* tre-440 %txt /tests/golden/types-partial-apply/tree/txt
1501−/* typ-440 %txt /tests/golden/types-partial-atom-alias/types/txt
1501+/* typ-440 %txt /tests/golden/types-partial-apply/types/txt
1502−/* src-441 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1502+/* src-441 %jibb /tests/golden/types-partial-atom-alias/source/jibb
1503−/* tok-441 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1503+/* tok-441 %txt /tests/golden/types-partial-atom-alias/tokens/txt
1504−/* tre-441 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1504+/* tre-441 %txt /tests/golden/types-partial-atom-alias/tree/txt
1505−/* typ-441 %txt /tests/golden/types-partial-atom-constraint/types/txt
1505+/* typ-441 %txt /tests/golden/types-partial-atom-alias/types/txt
1506−/* src-442 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1506+/* src-442 %jibb /tests/golden/types-partial-atom-constraint/source/jibb
1507−/* tok-442 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1507+/* tok-442 %txt /tests/golden/types-partial-atom-constraint/tokens/txt
1508−/* tre-442 %txt /tests/golden/types-partial-atom-widening/tree/txt
1508+/* tre-442 %txt /tests/golden/types-partial-atom-constraint/tree/txt
1509−/* typ-442 %txt /tests/golden/types-partial-atom-widening/types/txt
1509+/* typ-442 %txt /tests/golden/types-partial-atom-constraint/types/txt
1510−/* src-443 %jibb /tests/golden/types-partial-aura/source/jibb
1510+/* src-443 %jibb /tests/golden/types-partial-atom-widening/source/jibb
1511−/* tok-443 %txt /tests/golden/types-partial-aura/tokens/txt
1511+/* tok-443 %txt /tests/golden/types-partial-atom-widening/tokens/txt
1512−/* tre-443 %txt /tests/golden/types-partial-aura/tree/txt
1512+/* tre-443 %txt /tests/golden/types-partial-atom-widening/tree/txt
1513−/* typ-443 %txt /tests/golden/types-partial-aura/types/txt
1513+/* typ-443 %txt /tests/golden/types-partial-atom-widening/types/txt
1514−/* src-444 %jibb /tests/golden/types-partial-aura-family/source/jibb
1514+/* src-444 %jibb /tests/golden/types-partial-aura/source/jibb
1515−/* tok-444 %txt /tests/golden/types-partial-aura-family/tokens/txt
1515+/* tok-444 %txt /tests/golden/types-partial-aura/tokens/txt
1516−/* tre-444 %txt /tests/golden/types-partial-aura-family/tree/txt
1516+/* tre-444 %txt /tests/golden/types-partial-aura/tree/txt
1517−/* typ-444 %txt /tests/golden/types-partial-aura-family/types/txt
1517+/* typ-444 %txt /tests/golden/types-partial-aura/types/txt
1518−/* src-445 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1518+/* src-445 %jibb /tests/golden/types-partial-aura-family/source/jibb
1519−/* tok-445 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1519+/* tok-445 %txt /tests/golden/types-partial-aura-family/tokens/txt
1520−/* tre-445 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1520+/* tre-445 %txt /tests/golden/types-partial-aura-family/tree/txt
1521−/* typ-445 %txt /tests/golden/types-partial-aura-generalization/types/txt
1521+/* typ-445 %txt /tests/golden/types-partial-aura-family/types/txt
1522−/* src-446 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1522+/* src-446 %jibb /tests/golden/types-partial-aura-generalization/source/jibb
1523−/* tok-446 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1523+/* tok-446 %txt /tests/golden/types-partial-aura-generalization/tokens/txt
1524−/* tre-446 %txt /tests/golden/types-partial-bare-atom/tree/txt
1524+/* tre-446 %txt /tests/golden/types-partial-aura-generalization/tree/txt
1525−/* typ-446 %txt /tests/golden/types-partial-bare-atom/types/txt
1525+/* typ-446 %txt /tests/golden/types-partial-aura-generalization/types/txt
1526−/* src-447 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1526+/* src-447 %jibb /tests/golden/types-partial-bare-atom/source/jibb
1527−/* tok-447 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1527+/* tok-447 %txt /tests/golden/types-partial-bare-atom/tokens/txt
1528−/* tre-447 %txt /tests/golden/types-partial-branch-widening/tree/txt
1528+/* tre-447 %txt /tests/golden/types-partial-bare-atom/tree/txt
1529−/* typ-447 %txt /tests/golden/types-partial-branch-widening/types/txt
1529+/* typ-447 %txt /tests/golden/types-partial-bare-atom/types/txt
1530−/* src-448 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1530+/* src-448 %jibb /tests/golden/types-partial-branch-widening/source/jibb
1531−/* tok-448 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1531+/* tok-448 %txt /tests/golden/types-partial-branch-widening/tokens/txt
1532−/* tre-448 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1532+/* tre-448 %txt /tests/golden/types-partial-branch-widening/tree/txt
1533−/* typ-448 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1533+/* typ-448 %txt /tests/golden/types-partial-branch-widening/types/txt
1534−/* src-449 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1534+/* src-449 %jibb /tests/golden/types-partial-conflicting-sites/source/jibb
1535−/* tok-449 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1535+/* tok-449 %txt /tests/golden/types-partial-conflicting-sites/tokens/txt
1536−/* tre-449 %txt /tests/golden/types-partial-decimal-default/tree/txt
1536+/* tre-449 %txt /tests/golden/types-partial-conflicting-sites/tree/txt
1537−/* typ-449 %txt /tests/golden/types-partial-decimal-default/types/txt
1537+/* typ-449 %txt /tests/golden/types-partial-conflicting-sites/types/txt
1538−/* src-450 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1538+/* src-450 %jibb /tests/golden/types-partial-decimal-default/source/jibb
1539−/* tok-450 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1539+/* tok-450 %txt /tests/golden/types-partial-decimal-default/tokens/txt
1540−/* tre-450 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1540+/* tre-450 %txt /tests/golden/types-partial-decimal-default/tree/txt
1541−/* typ-450 %txt /tests/golden/types-partial-dependency-chain/types/txt
1541+/* typ-450 %txt /tests/golden/types-partial-decimal-default/types/txt
1542−/* src-451 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1542+/* src-451 %jibb /tests/golden/types-partial-dependency-chain/source/jibb
1543−/* tok-451 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1543+/* tok-451 %txt /tests/golden/types-partial-dependency-chain/tokens/txt
1544−/* tre-451 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1544+/* tre-451 %txt /tests/golden/types-partial-dependency-chain/tree/txt
1545−/* typ-451 %txt /tests/golden/types-partial-explicit-capital/types/txt
1545+/* typ-451 %txt /tests/golden/types-partial-dependency-chain/types/txt
1546−/* src-452 %jibb /tests/golden/types-partial-forward/source/jibb
1546+/* src-452 %jibb /tests/golden/types-partial-explicit-capital/source/jibb
1547−/* tok-452 %txt /tests/golden/types-partial-forward/tokens/txt
1547+/* tok-452 %txt /tests/golden/types-partial-explicit-capital/tokens/txt
1548−/* tre-452 %txt /tests/golden/types-partial-forward/tree/txt
1548+/* tre-452 %txt /tests/golden/types-partial-explicit-capital/tree/txt
1549−/* typ-452 %txt /tests/golden/types-partial-forward/types/txt
1549+/* typ-452 %txt /tests/golden/types-partial-explicit-capital/types/txt
1550−/* src-453 %jibb /tests/golden/types-partial-generalization/source/jibb
1550+/* src-453 %jibb /tests/golden/types-partial-forward/source/jibb
1551−/* tok-453 %txt /tests/golden/types-partial-generalization/tokens/txt
1551+/* tok-453 %txt /tests/golden/types-partial-forward/tokens/txt
1552−/* tre-453 %txt /tests/golden/types-partial-generalization/tree/txt
1552+/* tre-453 %txt /tests/golden/types-partial-forward/tree/txt
1553−/* typ-453 %txt /tests/golden/types-partial-generalization/types/txt
1553+/* typ-453 %txt /tests/golden/types-partial-forward/types/txt
1554−/* src-454 %jibb /tests/golden/types-partial-identity/source/jibb
1554+/* src-454 %jibb /tests/golden/types-partial-generalization/source/jibb
1555−/* tok-454 %txt /tests/golden/types-partial-identity/tokens/txt
1555+/* tok-454 %txt /tests/golden/types-partial-generalization/tokens/txt
1556−/* tre-454 %txt /tests/golden/types-partial-identity/tree/txt
1556+/* tre-454 %txt /tests/golden/types-partial-generalization/tree/txt
1557−/* typ-454 %txt /tests/golden/types-partial-identity/types/txt
1557+/* typ-454 %txt /tests/golden/types-partial-generalization/types/txt
1558−/* src-455 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1558+/* src-455 %jibb /tests/golden/types-partial-identity/source/jibb
1559−/* tok-455 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1559+/* tok-455 %txt /tests/golden/types-partial-identity/tokens/txt
1560−/* tre-455 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1560+/* tre-455 %txt /tests/golden/types-partial-identity/tree/txt
1561−/* typ-455 %txt /tests/golden/types-partial-independent-atoms/types/txt
1561+/* typ-455 %txt /tests/golden/types-partial-identity/types/txt
1562−/* src-456 %jibb /tests/golden/types-partial-local-molds/source/jibb
1562+/* src-456 %jibb /tests/golden/types-partial-independent-atoms/source/jibb
1563−/* tok-456 %txt /tests/golden/types-partial-local-molds/tokens/txt
1563+/* tok-456 %txt /tests/golden/types-partial-independent-atoms/tokens/txt
1564−/* tre-456 %txt /tests/golden/types-partial-local-molds/tree/txt
1564+/* tre-456 %txt /tests/golden/types-partial-independent-atoms/tree/txt
1565−/* typ-456 %txt /tests/golden/types-partial-local-molds/types/txt
1565+/* typ-456 %txt /tests/golden/types-partial-independent-atoms/types/txt
1566−/* src-457 %jibb /tests/golden/types-partial-locals/source/jibb
1566+/* src-457 %jibb /tests/golden/types-partial-local-molds/source/jibb
1567−/* tok-457 %txt /tests/golden/types-partial-locals/tokens/txt
1567+/* tok-457 %txt /tests/golden/types-partial-local-molds/tokens/txt
1568−/* tre-457 %txt /tests/golden/types-partial-locals/tree/txt
1568+/* tre-457 %txt /tests/golden/types-partial-local-molds/tree/txt
1569−/* typ-457 %txt /tests/golden/types-partial-locals/types/txt
1569+/* typ-457 %txt /tests/golden/types-partial-local-molds/types/txt
1570−/* src-458 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1570+/* src-458 %jibb /tests/golden/types-partial-locals/source/jibb
1571−/* tok-458 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1571+/* tok-458 %txt /tests/golden/types-partial-locals/tokens/txt
1572−/* tre-458 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1572+/* tre-458 %txt /tests/golden/types-partial-locals/tree/txt
1573−/* typ-458 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1573+/* typ-458 %txt /tests/golden/types-partial-locals/types/txt
1574−/* src-459 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1574+/* src-459 %jibb /tests/golden/types-partial-many-atom-constraints/source/jibb
1575−/* tok-459 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1575+/* tok-459 %txt /tests/golden/types-partial-many-atom-constraints/tokens/txt
1576−/* tre-459 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1576+/* tre-459 %txt /tests/golden/types-partial-many-atom-constraints/tree/txt
1577−/* typ-459 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1577+/* typ-459 %txt /tests/golden/types-partial-many-atom-constraints/types/txt
1578−/* src-460 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1578+/* src-460 %jibb /tests/golden/types-partial-mold-bare-aura/source/jibb
1579−/* tok-460 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1579+/* tok-460 %txt /tests/golden/types-partial-mold-bare-aura/tokens/txt
1580−/* tre-460 %txt /tests/golden/types-partial-mold-composite/tree/txt
1580+/* tre-460 %txt /tests/golden/types-partial-mold-bare-aura/tree/txt
1581−/* typ-460 %txt /tests/golden/types-partial-mold-composite/types/txt
1581+/* typ-460 %txt /tests/golden/types-partial-mold-bare-aura/types/txt
1582−/* src-461 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1582+/* src-461 %jibb /tests/golden/types-partial-mold-composite/source/jibb
1583−/* tok-461 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1583+/* tok-461 %txt /tests/golden/types-partial-mold-composite/tokens/txt
1584−/* tre-461 %txt /tests/golden/types-partial-mold-forward/tree/txt
1584+/* tre-461 %txt /tests/golden/types-partial-mold-composite/tree/txt
1585−/* typ-461 %txt /tests/golden/types-partial-mold-forward/types/txt
1585+/* typ-461 %txt /tests/golden/types-partial-mold-composite/types/txt
1586−/* src-462 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1586+/* src-462 %jibb /tests/golden/types-partial-mold-forward/source/jibb
1587−/* tok-462 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1587+/* tok-462 %txt /tests/golden/types-partial-mold-forward/tokens/txt
1588−/* tre-462 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1588+/* tre-462 %txt /tests/golden/types-partial-mold-forward/tree/txt
1589−/* typ-462 %txt /tests/golden/types-partial-mold-recursive/types/txt
1589+/* typ-462 %txt /tests/golden/types-partial-mold-forward/types/txt
1590−/* src-463 %jibb /tests/golden/types-partial-occurs/source/jibb
1590+/* src-463 %jibb /tests/golden/types-partial-mold-recursive/source/jibb
1591−/* tok-463 %txt /tests/golden/types-partial-occurs/tokens/txt
1591+/* tok-463 %txt /tests/golden/types-partial-mold-recursive/tokens/txt
1592−/* tre-463 %txt /tests/golden/types-partial-occurs/tree/txt
1592+/* tre-463 %txt /tests/golden/types-partial-mold-recursive/tree/txt
1593−/* typ-463 %txt /tests/golden/types-partial-occurs/types/txt
1593+/* typ-463 %txt /tests/golden/types-partial-mold-recursive/types/txt
1594−/* src-464 %jibb /tests/golden/types-partial-projection/source/jibb
1594+/* src-464 %jibb /tests/golden/types-partial-occurs/source/jibb
1595−/* tok-464 %txt /tests/golden/types-partial-projection/tokens/txt
1595+/* tok-464 %txt /tests/golden/types-partial-occurs/tokens/txt
1596−/* tre-464 %txt /tests/golden/types-partial-projection/tree/txt
1596+/* tre-464 %txt /tests/golden/types-partial-occurs/tree/txt
1597−/* typ-464 %txt /tests/golden/types-partial-projection/types/txt
1597+/* typ-464 %txt /tests/golden/types-partial-occurs/types/txt
1598−/* src-465 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1598+/* src-465 %jibb /tests/golden/types-partial-projection/source/jibb
1599−/* tok-465 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1599+/* tok-465 %txt /tests/golden/types-partial-projection/tokens/txt
1600−/* tre-465 %txt /tests/golden/types-partial-shadow-global/tree/txt
1600+/* tre-465 %txt /tests/golden/types-partial-projection/tree/txt
1601−/* typ-465 %txt /tests/golden/types-partial-shadow-global/types/txt
1601+/* typ-465 %txt /tests/golden/types-partial-projection/types/txt
1602−/* src-466 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1602+/* src-466 %jibb /tests/golden/types-partial-shadow-global/source/jibb
1603−/* tok-466 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1603+/* tok-466 %txt /tests/golden/types-partial-shadow-global/tokens/txt
1604−/* tre-466 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1604+/* tre-466 %txt /tests/golden/types-partial-shadow-global/tree/txt
1605−/* typ-466 %txt /tests/golden/types-partial-shared-tvar/types/txt
1605+/* typ-466 %txt /tests/golden/types-partial-shadow-global/types/txt
1606−/* src-467 %jibb /tests/golden/types-partial-union-cases/source/jibb
1606+/* src-467 %jibb /tests/golden/types-partial-shared-tvar/source/jibb
1607−/* tok-467 %txt /tests/golden/types-partial-union-cases/tokens/txt
1607+/* tok-467 %txt /tests/golden/types-partial-shared-tvar/tokens/txt
1608−/* tre-467 %txt /tests/golden/types-partial-union-cases/tree/txt
1608+/* tre-467 %txt /tests/golden/types-partial-shared-tvar/tree/txt
1609−/* typ-467 %txt /tests/golden/types-partial-union-cases/types/txt
1609+/* typ-467 %txt /tests/golden/types-partial-shared-tvar/types/txt
1610−/* src-468 %jibb /tests/golden/types-partial-union-edges/source/jibb
1610+/* src-468 %jibb /tests/golden/types-partial-union-cases/source/jibb
1611−/* tok-468 %txt /tests/golden/types-partial-union-edges/tokens/txt
1611+/* tok-468 %txt /tests/golden/types-partial-union-cases/tokens/txt
1612−/* tre-468 %txt /tests/golden/types-partial-union-edges/tree/txt
1612+/* tre-468 %txt /tests/golden/types-partial-union-cases/tree/txt
1613−/* typ-468 %txt /tests/golden/types-partial-union-edges/types/txt
1613+/* typ-468 %txt /tests/golden/types-partial-union-cases/types/txt
1614−/* src-469 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1614+/* src-469 %jibb /tests/golden/types-partial-union-edges/source/jibb
1615−/* tok-469 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1615+/* tok-469 %txt /tests/golden/types-partial-union-edges/tokens/txt
1616−/* tre-469 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1616+/* tre-469 %txt /tests/golden/types-partial-union-edges/tree/txt
1617−/* typ-469 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1617+/* typ-469 %txt /tests/golden/types-partial-union-edges/types/txt
1618−/* src-470 %jibb /tests/golden/types-prelude-direct/source/jibb
1618+/* src-470 %jibb /tests/golden/types-partial-unresolved-tag/source/jibb
1619−/* tok-470 %txt /tests/golden/types-prelude-direct/tokens/txt
1619+/* tok-470 %txt /tests/golden/types-partial-unresolved-tag/tokens/txt
1620−/* tre-470 %txt /tests/golden/types-prelude-direct/tree/txt
1620+/* tre-470 %txt /tests/golden/types-partial-unresolved-tag/tree/txt
1621−/* typ-470 %txt /tests/golden/types-prelude-direct/types/txt
1621+/* typ-470 %txt /tests/golden/types-partial-unresolved-tag/types/txt
1622−/* src-471 %jibb /tests/golden/types-prelude-interface/source/jibb
1622+/* src-471 %jibb /tests/golden/types-prelude-direct/source/jibb
1623−/* tok-471 %txt /tests/golden/types-prelude-interface/tokens/txt
1623+/* tok-471 %txt /tests/golden/types-prelude-direct/tokens/txt
1624−/* tre-471 %txt /tests/golden/types-prelude-interface/tree/txt
1624+/* tre-471 %txt /tests/golden/types-prelude-direct/tree/txt
1625−/* mod-471-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1625+/* typ-471 %txt /tests/golden/types-prelude-direct/types/txt
1626−/* mod-471-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1626+/* src-472 %jibb /tests/golden/types-prelude-interface/source/jibb
1627−/* typ-471 %txt /tests/golden/types-prelude-interface/types/txt
1627+/* tok-472 %txt /tests/golden/types-prelude-interface/tokens/txt
1628−/* mtre-471 %txt /tests/golden/types-prelude-interface/module-trees/txt
1628+/* tre-472 %txt /tests/golden/types-prelude-interface/tree/txt
1629−/* src-472 %jibb /tests/golden/types-record-bound-variable/source/jibb
1629+/* mod-472-1 %jibb /tests/golden/types-prelude-interface/modules/ui/left/jibb
1630−/* tok-472 %txt /tests/golden/types-record-bound-variable/tokens/txt
1630+/* mod-472-2 %jibb /tests/golden/types-prelude-interface/modules/ui/right/jibb
1631−/* tre-472 %txt /tests/golden/types-record-bound-variable/tree/txt
1631+/* typ-472 %txt /tests/golden/types-prelude-interface/types/txt
1632−/* typ-472 %txt /tests/golden/types-record-bound-variable/types/txt
1632+/* mtre-472 %txt /tests/golden/types-prelude-interface/module-trees/txt
1633−/* src-473 %jibb /tests/golden/types-record-faces/source/jibb
1633+/* src-473 %jibb /tests/golden/types-record-bound-variable/source/jibb
1634−/* tok-473 %txt /tests/golden/types-record-faces/tokens/txt
1634+/* tok-473 %txt /tests/golden/types-record-bound-variable/tokens/txt
1635−/* tre-473 %txt /tests/golden/types-record-faces/tree/txt
1635+/* tre-473 %txt /tests/golden/types-record-bound-variable/tree/txt
1636−/* typ-473 %txt /tests/golden/types-record-faces/types/txt
1636+/* typ-473 %txt /tests/golden/types-record-bound-variable/types/txt
1637−/* src-474 %jibb /tests/golden/types-record-import/source/jibb
1637+/* src-474 %jibb /tests/golden/types-record-faces/source/jibb
1638−/* tok-474 %txt /tests/golden/types-record-import/tokens/txt
1638+/* tok-474 %txt /tests/golden/types-record-faces/tokens/txt
1639−/* tre-474 %txt /tests/golden/types-record-import/tree/txt
1639+/* tre-474 %txt /tests/golden/types-record-faces/tree/txt
1640−/* mod-474-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
1640+/* typ-474 %txt /tests/golden/types-record-faces/types/txt
1641−/* typ-474 %txt /tests/golden/types-record-import/types/txt
1641+/* src-475 %jibb /tests/golden/types-record-import/source/jibb
1642−/* mtre-474 %txt /tests/golden/types-record-import/module-trees/txt
1642+/* tok-475 %txt /tests/golden/types-record-import/tokens/txt
1643−/* src-475 %jibb /tests/golden/types-record-local-scheme/source/jibb
1643+/* tre-475 %txt /tests/golden/types-record-import/tree/txt
1644−/* tok-475 %txt /tests/golden/types-record-local-scheme/tokens/txt
1644+/* mod-475-1 %jibb /tests/golden/types-record-import/modules/ui/lib/jibb
1645−/* tre-475 %txt /tests/golden/types-record-local-scheme/tree/txt
1645+/* typ-475 %txt /tests/golden/types-record-import/types/txt
1646−/* typ-475 %txt /tests/golden/types-record-local-scheme/types/txt
1646+/* mtre-475 %txt /tests/golden/types-record-import/module-trees/txt
1647−/* src-476 %jibb /tests/golden/types-record-nested/source/jibb
1647+/* src-476 %jibb /tests/golden/types-record-local-scheme/source/jibb
1648−/* tok-476 %txt /tests/golden/types-record-nested/tokens/txt
1648+/* tok-476 %txt /tests/golden/types-record-local-scheme/tokens/txt
1649−/* tre-476 %txt /tests/golden/types-record-nested/tree/txt
1649+/* tre-476 %txt /tests/golden/types-record-local-scheme/tree/txt
1650−/* typ-476 %txt /tests/golden/types-record-nested/types/txt
1650+/* typ-476 %txt /tests/golden/types-record-local-scheme/types/txt
1651−/* src-477 %jibb /tests/golden/types-record-to-tuple/source/jibb
1651+/* src-477 %jibb /tests/golden/types-record-nested/source/jibb
1652−/* tok-477 %txt /tests/golden/types-record-to-tuple/tokens/txt
1652+/* tok-477 %txt /tests/golden/types-record-nested/tokens/txt
1653−/* tre-477 %txt /tests/golden/types-record-to-tuple/tree/txt
1653+/* tre-477 %txt /tests/golden/types-record-nested/tree/txt
1654−/* typ-477 %txt /tests/golden/types-record-to-tuple/types/txt
1654+/* typ-477 %txt /tests/golden/types-record-nested/types/txt
1655−/* src-478 %jibb /tests/golden/types-union-alias/source/jibb
1655+/* src-478 %jibb /tests/golden/types-record-to-tuple/source/jibb
1656−/* tok-478 %txt /tests/golden/types-union-alias/tokens/txt
1656+/* tok-478 %txt /tests/golden/types-record-to-tuple/tokens/txt
1657−/* tre-478 %txt /tests/golden/types-union-alias/tree/txt
1657+/* tre-478 %txt /tests/golden/types-record-to-tuple/tree/txt
1658−/* typ-478 %txt /tests/golden/types-union-alias/types/txt
1658+/* typ-478 %txt /tests/golden/types-record-to-tuple/types/txt
1659−/* src-479 %jibb /tests/golden/types-union-branch-context/source/jibb
1659+/* src-479 %jibb /tests/golden/types-union-alias/source/jibb
1660−/* tok-479 %txt /tests/golden/types-union-branch-context/tokens/txt
1660+/* tok-479 %txt /tests/golden/types-union-alias/tokens/txt
1661−/* tre-479 %txt /tests/golden/types-union-branch-context/tree/txt
1661+/* tre-479 %txt /tests/golden/types-union-alias/tree/txt
1662−/* typ-479 %txt /tests/golden/types-union-branch-context/types/txt
1662+/* typ-479 %txt /tests/golden/types-union-alias/types/txt
1663−/* src-480 %jibb /tests/golden/types-union-branch-pending/source/jibb
1663+/* src-480 %jibb /tests/golden/types-union-branch-context/source/jibb
1664−/* tok-480 %txt /tests/golden/types-union-branch-pending/tokens/txt
1664+/* tok-480 %txt /tests/golden/types-union-branch-context/tokens/txt
1665−/* tre-480 %txt /tests/golden/types-union-branch-pending/tree/txt
1665+/* tre-480 %txt /tests/golden/types-union-branch-context/tree/txt
1666−/* typ-480 %txt /tests/golden/types-union-branch-pending/types/txt
1666+/* typ-480 %txt /tests/golden/types-union-branch-context/types/txt
1667−/* src-481 %jibb /tests/golden/types-union-constructor-shape/source/jibb
1667+/* src-481 %jibb /tests/golden/types-union-branch-pending/source/jibb
1668−/* tok-481 %txt /tests/golden/types-union-constructor-shape/tokens/txt
1668+/* tok-481 %txt /tests/golden/types-union-branch-pending/tokens/txt
1669−/* tre-481 %txt /tests/golden/types-union-constructor-shape/tree/txt
1669+/* tre-481 %txt /tests/golden/types-union-branch-pending/tree/txt
1670−/* typ-481 %txt /tests/golden/types-union-constructor-shape/types/txt
1670+/* typ-481 %txt /tests/golden/types-union-branch-pending/types/txt
1671−/* src-482 %jibb /tests/golden/types-union-context-flow/source/jibb
1671+/* src-482 %jibb /tests/golden/types-union-constructor-shape/source/jibb
1672−/* tok-482 %txt /tests/golden/types-union-context-flow/tokens/txt
1672+/* tok-482 %txt /tests/golden/types-union-constructor-shape/tokens/txt
1673−/* tre-482 %txt /tests/golden/types-union-context-flow/tree/txt
1673+/* tre-482 %txt /tests/golden/types-union-constructor-shape/tree/txt
1674−/* typ-482 %txt /tests/golden/types-union-context-flow/types/txt
1674+/* typ-482 %txt /tests/golden/types-union-constructor-shape/types/txt
1675−/* src-483 %jibb /tests/golden/types-union-import/source/jibb
1675+/* src-483 %jibb /tests/golden/types-union-context-flow/source/jibb
1676−/* tok-483 %txt /tests/golden/types-union-import/tokens/txt
1676+/* tok-483 %txt /tests/golden/types-union-context-flow/tokens/txt
1677−/* tre-483 %txt /tests/golden/types-union-import/tree/txt
1677+/* tre-483 %txt /tests/golden/types-union-context-flow/tree/txt
1678−/* mod-483-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
1678+/* typ-483 %txt /tests/golden/types-union-context-flow/types/txt
1679−/* typ-483 %txt /tests/golden/types-union-import/types/txt
1679+/* src-484 %jibb /tests/golden/types-union-import/source/jibb
1680−/* mtre-483 %txt /tests/golden/types-union-import/module-trees/txt
1680+/* tok-484 %txt /tests/golden/types-union-import/tokens/txt
1681−/* src-484 %jibb /tests/golden/types-union-local-pending/source/jibb
1681+/* tre-484 %txt /tests/golden/types-union-import/tree/txt
1682−/* tok-484 %txt /tests/golden/types-union-local-pending/tokens/txt
1682+/* mod-484-1 %jibb /tests/golden/types-union-import/modules/ui/lib/jibb
1683−/* tre-484 %txt /tests/golden/types-union-local-pending/tree/txt
1683+/* typ-484 %txt /tests/golden/types-union-import/types/txt
1684−/* typ-484 %txt /tests/golden/types-union-local-pending/types/txt
1684+/* mtre-484 %txt /tests/golden/types-union-import/module-trees/txt
1685−/* src-485 %jibb /tests/golden/types-union-overlap/source/jibb
1685+/* src-485 %jibb /tests/golden/types-union-local-pending/source/jibb
1686−/* tok-485 %txt /tests/golden/types-union-overlap/tokens/txt
1686+/* tok-485 %txt /tests/golden/types-union-local-pending/tokens/txt
1687−/* tre-485 %txt /tests/golden/types-union-overlap/tree/txt
1687+/* tre-485 %txt /tests/golden/types-union-local-pending/tree/txt
1688−/* typ-485 %txt /tests/golden/types-union-overlap/types/txt
1688+/* typ-485 %txt /tests/golden/types-union-local-pending/types/txt
1689−/* src-486 %jibb /tests/golden/types-union-overlap-nested/source/jibb
1689+/* src-486 %jibb /tests/golden/types-union-overlap/source/jibb
1690−/* tok-486 %txt /tests/golden/types-union-overlap-nested/tokens/txt
1690+/* tok-486 %txt /tests/golden/types-union-overlap/tokens/txt
1691−/* tre-486 %txt /tests/golden/types-union-overlap-nested/tree/txt
1691+/* tre-486 %txt /tests/golden/types-union-overlap/tree/txt
1692−/* typ-486 %txt /tests/golden/types-union-overlap-nested/types/txt
1692+/* typ-486 %txt /tests/golden/types-union-overlap/types/txt
1693−/* src-487 %jibb /tests/golden/types-union-phantom-generic/source/jibb
1693+/* src-487 %jibb /tests/golden/types-union-overlap-nested/source/jibb
1694−/* tok-487 %txt /tests/golden/types-union-phantom-generic/tokens/txt
1694+/* tok-487 %txt /tests/golden/types-union-overlap-nested/tokens/txt
1695−/* tre-487 %txt /tests/golden/types-union-phantom-generic/tree/txt
1695+/* tre-487 %txt /tests/golden/types-union-overlap-nested/tree/txt
1696−/* typ-487 %txt /tests/golden/types-union-phantom-generic/types/txt
1696+/* typ-487 %txt /tests/golden/types-union-overlap-nested/types/txt
1697−/* src-488 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
1697+/* src-488 %jibb /tests/golden/types-union-phantom-generic/source/jibb
1698−/* tok-488 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
1698+/* tok-488 %txt /tests/golden/types-union-phantom-generic/tokens/txt
1699−/* tre-488 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
1699+/* tre-488 %txt /tests/golden/types-union-phantom-generic/tree/txt
1700−/* mod-488-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
1700+/* typ-488 %txt /tests/golden/types-union-phantom-generic/types/txt
1701−/* typ-488 %txt /tests/golden/types-union-print-cross-namespace/types/txt
1701+/* src-489 %jibb /tests/golden/types-union-print-cross-namespace/source/jibb
1702−/* mtre-488 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
1702+/* tok-489 %txt /tests/golden/types-union-print-cross-namespace/tokens/txt
1703−/* src-489 %jibb /tests/golden/types-union-print-distinct/source/jibb
1703+/* tre-489 %txt /tests/golden/types-union-print-cross-namespace/tree/txt
1704−/* tok-489 %txt /tests/golden/types-union-print-distinct/tokens/txt
1704+/* mod-489-1 %jibb /tests/golden/types-union-print-cross-namespace/modules/ui/lib/jibb
1705−/* tre-489 %txt /tests/golden/types-union-print-distinct/tree/txt
1705+/* typ-489 %txt /tests/golden/types-union-print-cross-namespace/types/txt
1706−/* mod-489-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
1706+/* mtre-489 %txt /tests/golden/types-union-print-cross-namespace/module-trees/txt
1707−/* mod-489-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
1707+/* src-490 %jibb /tests/golden/types-union-print-distinct/source/jibb
1708−/* mod-489-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
1708+/* tok-490 %txt /tests/golden/types-union-print-distinct/tokens/txt
1709−/* typ-489 %txt /tests/golden/types-union-print-distinct/types/txt
1709+/* tre-490 %txt /tests/golden/types-union-print-distinct/tree/txt
1710−/* mtre-489 %txt /tests/golden/types-union-print-distinct/module-trees/txt
1710+/* mod-490-1 %jibb /tests/golden/types-union-print-distinct/modules/ui/left/jibb
1711−/* src-490 %jibb /tests/golden/types-union-print-escape/source/jibb
1711+/* mod-490-2 %jibb /tests/golden/types-union-print-distinct/modules/ui/right/jibb
1712−/* tok-490 %txt /tests/golden/types-union-print-escape/tokens/txt
1712+/* mod-490-3 %jibb /tests/golden/types-union-print-distinct/modules/ui/twin/jibb
1713−/* tre-490 %txt /tests/golden/types-union-print-escape/tree/txt
1713+/* typ-490 %txt /tests/golden/types-union-print-distinct/types/txt
1714−/* typ-490 %txt /tests/golden/types-union-print-escape/types/txt
1714+/* mtre-490 %txt /tests/golden/types-union-print-distinct/module-trees/txt
1715−/* src-491 %jibb /tests/golden/types-union-print-local/source/jibb
1715+/* src-491 %jibb /tests/golden/types-union-print-escape/source/jibb
1716−/* tok-491 %txt /tests/golden/types-union-print-local/tokens/txt
1716+/* tok-491 %txt /tests/golden/types-union-print-escape/tokens/txt
1717−/* tre-491 %txt /tests/golden/types-union-print-local/tree/txt
1717+/* tre-491 %txt /tests/golden/types-union-print-escape/tree/txt
1718−/* typ-491 %txt /tests/golden/types-union-print-local/types/txt
1718+/* typ-491 %txt /tests/golden/types-union-print-escape/types/txt
1719−/* src-492 %jibb /tests/golden/types-union-print-nested/source/jibb
1719+/* src-492 %jibb /tests/golden/types-union-print-local/source/jibb
1720−/* tok-492 %txt /tests/golden/types-union-print-nested/tokens/txt
1720+/* tok-492 %txt /tests/golden/types-union-print-local/tokens/txt
1721−/* tre-492 %txt /tests/golden/types-union-print-nested/tree/txt
1721+/* tre-492 %txt /tests/golden/types-union-print-local/tree/txt
1722−/* typ-492 %txt /tests/golden/types-union-print-nested/types/txt
1722+/* typ-492 %txt /tests/golden/types-union-print-local/types/txt
1723−/* src-493 %jibb /tests/golden/types-union-print-same-origin/source/jibb
1723+/* src-493 %jibb /tests/golden/types-union-print-nested/source/jibb
1724−/* tok-493 %txt /tests/golden/types-union-print-same-origin/tokens/txt
1724+/* tok-493 %txt /tests/golden/types-union-print-nested/tokens/txt
1725−/* tre-493 %txt /tests/golden/types-union-print-same-origin/tree/txt
1725+/* tre-493 %txt /tests/golden/types-union-print-nested/tree/txt
1726−/* mod-493-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
1726+/* typ-493 %txt /tests/golden/types-union-print-nested/types/txt
1727−/* typ-493 %txt /tests/golden/types-union-print-same-origin/types/txt
1727+/* src-494 %jibb /tests/golden/types-union-print-same-origin/source/jibb
1728−/* mtre-493 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
1728+/* tok-494 %txt /tests/golden/types-union-print-same-origin/tokens/txt
1729−/* src-494 %jibb /tests/golden/types-union-print-transitive/source/jibb
1729+/* tre-494 %txt /tests/golden/types-union-print-same-origin/tree/txt
1730−/* tok-494 %txt /tests/golden/types-union-print-transitive/tokens/txt
1730+/* mod-494-1 %jibb /tests/golden/types-union-print-same-origin/modules/ui/shared/jibb
1731−/* tre-494 %txt /tests/golden/types-union-print-transitive/tree/txt
1731+/* typ-494 %txt /tests/golden/types-union-print-same-origin/types/txt
1732−/* mod-494-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
1732+/* mtre-494 %txt /tests/golden/types-union-print-same-origin/module-trees/txt
1733−/* mod-494-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
1733+/* src-495 %jibb /tests/golden/types-union-print-transitive/source/jibb
1734−/* typ-494 %txt /tests/golden/types-union-print-transitive/types/txt
1734+/* tok-495 %txt /tests/golden/types-union-print-transitive/tokens/txt
1735−/* mtre-494 %txt /tests/golden/types-union-print-transitive/module-trees/txt
1735+/* tre-495 %txt /tests/golden/types-union-print-transitive/tree/txt
1736−/* src-495 %jibb /tests/golden/types-union-singleton/source/jibb
1736+/* mod-495-1 %jibb /tests/golden/types-union-print-transitive/modules/ui/mid/jibb
1737−/* tok-495 %txt /tests/golden/types-union-singleton/tokens/txt
1737+/* mod-495-2 %jibb /tests/golden/types-union-print-transitive/modules/ui/base/jibb
1738−/* tre-495 %txt /tests/golden/types-union-singleton/tree/txt
1738+/* typ-495 %txt /tests/golden/types-union-print-transitive/types/txt
1739−/* typ-495 %txt /tests/golden/types-union-singleton/types/txt
1739+/* mtre-495 %txt /tests/golden/types-union-print-transitive/module-trees/txt
1740−/* src-496 %jibb /tests/golden/types-union-tag-atoms/source/jibb
1740+/* src-496 %jibb /tests/golden/types-union-singleton/source/jibb
1741−/* tok-496 %txt /tests/golden/types-union-tag-atoms/tokens/txt
1741+/* tok-496 %txt /tests/golden/types-union-singleton/tokens/txt
1742−/* tre-496 %txt /tests/golden/types-union-tag-atoms/tree/txt
1742+/* tre-496 %txt /tests/golden/types-union-singleton/tree/txt
1743−/* typ-496 %txt /tests/golden/types-union-tag-atoms/types/txt
1743+/* typ-496 %txt /tests/golden/types-union-singleton/types/txt
1744−/* src-497 %jibb /tests/golden/types-union-tags/source/jibb
1744+/* src-497 %jibb /tests/golden/types-union-tag-atoms/source/jibb
1745−/* tok-497 %txt /tests/golden/types-union-tags/tokens/txt
1745+/* tok-497 %txt /tests/golden/types-union-tag-atoms/tokens/txt
1746−/* tre-497 %txt /tests/golden/types-union-tags/tree/txt
1746+/* tre-497 %txt /tests/golden/types-union-tag-atoms/tree/txt
1747−/* typ-497 %txt /tests/golden/types-union-tags/types/txt
1747+/* typ-497 %txt /tests/golden/types-union-tag-atoms/types/txt
1748−/* src-498 %jibb /tests/golden/types-union-unresolved/source/jibb
1748+/* src-498 %jibb /tests/golden/types-union-tags/source/jibb
1749−/* tok-498 %txt /tests/golden/types-union-unresolved/tokens/txt
1749+/* tok-498 %txt /tests/golden/types-union-tags/tokens/txt
1750−/* tre-498 %txt /tests/golden/types-union-unresolved/tree/txt
1750+/* tre-498 %txt /tests/golden/types-union-tags/tree/txt
1751−/* typ-498 %txt /tests/golden/types-union-unresolved/types/txt
1751+/* typ-498 %txt /tests/golden/types-union-tags/types/txt
1752−/* src-499 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
1752+/* src-499 %jibb /tests/golden/types-union-unresolved/source/jibb
1753−/* tok-499 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
1753+/* tok-499 %txt /tests/golden/types-union-unresolved/tokens/txt
1754−/* tre-499 %txt /tests/golden/types-union-unresolved-flow/tree/txt
1754+/* tre-499 %txt /tests/golden/types-union-unresolved/tree/txt
1755−/* typ-499 %txt /tests/golden/types-union-unresolved-flow/types/txt
1755+/* typ-499 %txt /tests/golden/types-union-unresolved/types/txt
1756−/* src-500 %jibb /tests/golden/types-unit-context/source/jibb
1756+/* src-500 %jibb /tests/golden/types-union-unresolved-flow/source/jibb
1757−/* tok-500 %txt /tests/golden/types-unit-context/tokens/txt
1757+/* tok-500 %txt /tests/golden/types-union-unresolved-flow/tokens/txt
1758−/* tre-500 %txt /tests/golden/types-unit-context/tree/txt
1758+/* tre-500 %txt /tests/golden/types-union-unresolved-flow/tree/txt
1759−/* typ-500 %txt /tests/golden/types-unit-context/types/txt
1759+/* typ-500 %txt /tests/golden/types-union-unresolved-flow/types/txt
1760−/* src-501 %jibb /tests/golden/types-unit-patterns/source/jibb
1760+/* src-501 %jibb /tests/golden/types-unit-context/source/jibb
1761−/* tok-501 %txt /tests/golden/types-unit-patterns/tokens/txt
1761+/* tok-501 %txt /tests/golden/types-unit-context/tokens/txt
1762−/* tre-501 %txt /tests/golden/types-unit-patterns/tree/txt
1762+/* tre-501 %txt /tests/golden/types-unit-context/tree/txt
1763−/* typ-501 %txt /tests/golden/types-unit-patterns/types/txt
1763+/* typ-501 %txt /tests/golden/types-unit-context/types/txt
1764+/* src-502 %jibb /tests/golden/types-unit-patterns/source/jibb
1765+/* tok-502 %txt /tests/golden/types-unit-patterns/tokens/txt
1766+/* tre-502 %txt /tests/golden/types-unit-patterns/tree/txt
1767+/* typ-502 %txt /tests/golden/types-unit-patterns/types/txt
1764=/ prepared-prelude (prepare-prelude:jibb prelude-source)
1768=/ prepared-prelude (prepare-prelude:jibb prelude-source)
1765|%
1769|%
1766:: one arm per case
1770:: one arm per case
@@ -2623,150 +2627,152 @@
2623 (weld (check ~.types-import-sur src-428 `tok-428 `tre-428) (check-import-types ~.types-import-sur ~[%tests %golden ~.types-import-sur %source %jibb] src-428 `typ-428 ~[[%fixture %title imp-428-1] [%fixture %pair imp-428-2]]))
2627 (weld (check ~.types-import-sur src-428 `tok-428 `tre-428) (check-import-types ~.types-import-sur ~[%tests %golden ~.types-import-sur %source %jibb] src-428 `typ-428 ~[[%fixture %title imp-428-1] [%fixture %pair imp-428-2]]))
2624++ test-types-import-sur-record-graph
2628++ test-types-import-sur-record-graph
2625 (weld (weld (check ~.types-import-sur-record-graph src-429 `tok-429 `tre-429) (check-module-types ~.types-import-sur-record-graph ~[%tests %golden ~.types-import-sur-record-graph %source %jibb] src-429 `typ-429 ~[[%fixture %entry imp-429-1]] ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-429-1]])) (check-module-trees ~.types-import-sur-record-graph `mtre-429 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-429-1]]))
2629 (weld (weld (check ~.types-import-sur-record-graph src-429 `tok-429 `tre-429) (check-module-types ~.types-import-sur-record-graph ~[%tests %golden ~.types-import-sur-record-graph %source %jibb] src-429 `typ-429 ~[[%fixture %entry imp-429-1]] ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-429-1]])) (check-module-trees ~.types-import-sur-record-graph `mtre-429 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-429-1]]))
2630+++ test-types-list-cons
2631+ (weld (check ~.types-list-cons src-430 `tok-430 `tre-430) (check-module-types ~.types-list-cons ~[%tests %golden ~.types-list-cons %source %jibb] src-430 `typ-430 ~ ~ ~))
2626++ test-types-list-context
2632++ test-types-list-context
2627− (weld (check ~.types-list-context src-430 `tok-430 `tre-430) (check-module-types ~.types-list-context ~[%tests %golden ~.types-list-context %source %jibb] src-430 `typ-430 ~ ~ ~))
2633+ (weld (check ~.types-list-context src-431 `tok-431 `tre-431) (check-module-types ~.types-list-context ~[%tests %golden ~.types-list-context %source %jibb] src-431 `typ-431 ~ ~ ~))
2628++ test-types-list-imported
2634++ test-types-list-imported
2629− (weld (check ~.types-list-imported src-431 `tok-431 `tre-431) (check-module-types ~.types-list-imported ~[%tests %golden ~.types-list-imported %source %jibb] src-431 `typ-431 ~[[%fixture %texts imp-431-1] [%fixture %ships imp-431-2]] ~ ~))
2635+ (weld (check ~.types-list-imported src-432 `tok-432 `tre-432) (check-module-types ~.types-list-imported ~[%tests %golden ~.types-list-imported %source %jibb] src-432 `typ-432 ~[[%fixture %texts imp-432-1] [%fixture %ships imp-432-2]] ~ ~))
2630++ test-types-list-pattern-imported
2636++ test-types-list-pattern-imported
2631− (weld (check ~.types-list-pattern-imported src-432 `tok-432 `tre-432) (check-module-types ~.types-list-pattern-imported ~[%tests %golden ~.types-list-pattern-imported %source %jibb] src-432 `typ-432 ~[[%fixture %texts imp-432-1] [%fixture %text-set imp-432-2]] ~ ~))
2637+ (weld (check ~.types-list-pattern-imported src-433 `tok-433 `tre-433) (check-module-types ~.types-list-pattern-imported ~[%tests %golden ~.types-list-pattern-imported %source %jibb] src-433 `typ-433 ~[[%fixture %texts imp-433-1] [%fixture %text-set imp-433-2]] ~ ~))
2632++ test-types-list-patterns
2638++ test-types-list-patterns
2633− (weld (check ~.types-list-patterns src-433 `tok-433 `tre-433) (check-module-types ~.types-list-patterns ~[%tests %golden ~.types-list-patterns %source %jibb] src-433 `typ-433 ~ ~ ~))
2639+ (weld (check ~.types-list-patterns src-434 `tok-434 `tre-434) (check-module-types ~.types-list-patterns ~[%tests %golden ~.types-list-patterns %source %jibb] src-434 `typ-434 ~ ~ ~))
2634++ test-types-module-fixtures
2640++ test-types-module-fixtures
2635− (weld (weld (check-at ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-434 `tok-434 `tre-434) (check-module-types ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-434 `typ-434 ~ ~ ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-434-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-434-2]])) (check-module-trees ~.types-module-fixtures `mtre-434 ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-434-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-434-2]]))
2641+ (weld (weld (check-at ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-435 `tok-435 `tre-435) (check-module-types ~.types-module-fixtures ~[~.ui ~.blog ~.index ~.jibb] src-435 `typ-435 ~ ~ ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-435-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-435-2]])) (check-module-trees ~.types-module-fixtures `mtre-435 ~[['/ui/api/blog.jibb' ~[~.ui ~.api ~.blog ~.jibb] mod-435-1] ['/ui/components/card.jibb' ~[~.ui ~.components ~.card ~.jibb] mod-435-2]]))
2636++ test-types-module-mixed
2642++ test-types-module-mixed
2637− (weld (weld (check ~.types-module-mixed src-435 `tok-435 `tre-435) (check-module-types ~.types-module-mixed ~[%tests %golden ~.types-module-mixed %source %jibb] src-435 `typ-435 ~[[%fixture %title imp-435-1]] ~[[%label mark-435-1]] ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-435-1]])) (check-module-trees ~.types-module-mixed `mtre-435 ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-435-1]]))
2643+ (weld (weld (check ~.types-module-mixed src-436 `tok-436 `tre-436) (check-module-types ~.types-module-mixed ~[%tests %golden ~.types-module-mixed %source %jibb] src-436 `typ-436 ~[[%fixture %title imp-436-1]] ~[[%label mark-436-1]] ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-436-1]])) (check-module-trees ~.types-module-mixed `mtre-436 ~[['/ui/helper.jibb' ~[~.ui ~.helper ~.jibb] mod-436-1]]))
2638++ test-types-null-context
2644++ test-types-null-context
2639− (weld (check ~.types-null-context src-436 `tok-436 `tre-436) (check-types ~.types-null-context ~[%tests %golden ~.types-null-context %source %jibb] src-436 `typ-436))
2645+ (weld (check ~.types-null-context src-437 `tok-437 `tre-437) (check-types ~.types-null-context ~[%tests %golden ~.types-null-context %source %jibb] src-437 `typ-437))
2640++ test-types-null-overlap
2646++ test-types-null-overlap
2641− (weld (check ~.types-null-overlap src-437 `tok-437 `tre-437) (check-types ~.types-null-overlap ~[%tests %golden ~.types-null-overlap %source %jibb] src-437 `typ-437))
2647+ (weld (check ~.types-null-overlap src-438 `tok-438 `tre-438) (check-types ~.types-null-overlap ~[%tests %golden ~.types-null-overlap %source %jibb] src-438 `typ-438))
2642++ test-types-null-unresolved
2648++ test-types-null-unresolved
2643− (weld (check ~.types-null-unresolved src-438 `tok-438 `tre-438) (check-types ~.types-null-unresolved ~[%tests %golden ~.types-null-unresolved %source %jibb] src-438 `typ-438))
2649+ (weld (check ~.types-null-unresolved src-439 `tok-439 `tre-439) (check-types ~.types-null-unresolved ~[%tests %golden ~.types-null-unresolved %source %jibb] src-439 `typ-439))
2644++ test-types-partial-apply
2650++ test-types-partial-apply
2645− (weld (check ~.types-partial-apply src-439 `tok-439 `tre-439) (check-types ~.types-partial-apply ~[%tests %golden ~.types-partial-apply %source %jibb] src-439 `typ-439))
2651+ (weld (check ~.types-partial-apply src-440 `tok-440 `tre-440) (check-types ~.types-partial-apply ~[%tests %golden ~.types-partial-apply %source %jibb] src-440 `typ-440))
2646++ test-types-partial-atom-alias
2652++ test-types-partial-atom-alias
2647− (weld (check ~.types-partial-atom-alias src-440 `tok-440 `tre-440) (check-types ~.types-partial-atom-alias ~[%tests %golden ~.types-partial-atom-alias %source %jibb] src-440 `typ-440))
2653+ (weld (check ~.types-partial-atom-alias src-441 `tok-441 `tre-441) (check-types ~.types-partial-atom-alias ~[%tests %golden ~.types-partial-atom-alias %source %jibb] src-441 `typ-441))
2648++ test-types-partial-atom-constraint
2654++ test-types-partial-atom-constraint
2649− (weld (check ~.types-partial-atom-constraint src-441 `tok-441 `tre-441) (check-types ~.types-partial-atom-constraint ~[%tests %golden ~.types-partial-atom-constraint %source %jibb] src-441 `typ-441))
2655+ (weld (check ~.types-partial-atom-constraint src-442 `tok-442 `tre-442) (check-types ~.types-partial-atom-constraint ~[%tests %golden ~.types-partial-atom-constraint %source %jibb] src-442 `typ-442))
2650++ test-types-partial-atom-widening
2656++ test-types-partial-atom-widening
2651− (weld (check ~.types-partial-atom-widening src-442 `tok-442 `tre-442) (check-types ~.types-partial-atom-widening ~[%tests %golden ~.types-partial-atom-widening %source %jibb] src-442 `typ-442))
2657+ (weld (check ~.types-partial-atom-widening src-443 `tok-443 `tre-443) (check-types ~.types-partial-atom-widening ~[%tests %golden ~.types-partial-atom-widening %source %jibb] src-443 `typ-443))
2652++ test-types-partial-aura
2658++ test-types-partial-aura
2653− (weld (check ~.types-partial-aura src-443 `tok-443 `tre-443) (check-types ~.types-partial-aura ~[%tests %golden ~.types-partial-aura %source %jibb] src-443 `typ-443))
2659+ (weld (check ~.types-partial-aura src-444 `tok-444 `tre-444) (check-types ~.types-partial-aura ~[%tests %golden ~.types-partial-aura %source %jibb] src-444 `typ-444))
2654++ test-types-partial-aura-family
2660++ test-types-partial-aura-family
2655− (weld (check ~.types-partial-aura-family src-444 `tok-444 `tre-444) (check-types ~.types-partial-aura-family ~[%tests %golden ~.types-partial-aura-family %source %jibb] src-444 `typ-444))
2661+ (weld (check ~.types-partial-aura-family src-445 `tok-445 `tre-445) (check-types ~.types-partial-aura-family ~[%tests %golden ~.types-partial-aura-family %source %jibb] src-445 `typ-445))
2656++ test-types-partial-aura-generalization
2662++ test-types-partial-aura-generalization
2657− (weld (check ~.types-partial-aura-generalization src-445 `tok-445 `tre-445) (check-types ~.types-partial-aura-generalization ~[%tests %golden ~.types-partial-aura-generalization %source %jibb] src-445 `typ-445))
2663+ (weld (check ~.types-partial-aura-generalization src-446 `tok-446 `tre-446) (check-types ~.types-partial-aura-generalization ~[%tests %golden ~.types-partial-aura-generalization %source %jibb] src-446 `typ-446))
2658++ test-types-partial-bare-atom
2664++ test-types-partial-bare-atom
2659− (weld (check ~.types-partial-bare-atom src-446 `tok-446 `tre-446) (check-types ~.types-partial-bare-atom ~[%tests %golden ~.types-partial-bare-atom %source %jibb] src-446 `typ-446))
2665+ (weld (check ~.types-partial-bare-atom src-447 `tok-447 `tre-447) (check-types ~.types-partial-bare-atom ~[%tests %golden ~.types-partial-bare-atom %source %jibb] src-447 `typ-447))
2660++ test-types-partial-branch-widening
2666++ test-types-partial-branch-widening
2661− (weld (check ~.types-partial-branch-widening src-447 `tok-447 `tre-447) (check-types ~.types-partial-branch-widening ~[%tests %golden ~.types-partial-branch-widening %source %jibb] src-447 `typ-447))
2667+ (weld (check ~.types-partial-branch-widening src-448 `tok-448 `tre-448) (check-types ~.types-partial-branch-widening ~[%tests %golden ~.types-partial-branch-widening %source %jibb] src-448 `typ-448))
2662++ test-types-partial-conflicting-sites
2668++ test-types-partial-conflicting-sites
2663− (weld (check ~.types-partial-conflicting-sites src-448 `tok-448 `tre-448) (check-types ~.types-partial-conflicting-sites ~[%tests %golden ~.types-partial-conflicting-sites %source %jibb] src-448 `typ-448))
2669+ (weld (check ~.types-partial-conflicting-sites src-449 `tok-449 `tre-449) (check-types ~.types-partial-conflicting-sites ~[%tests %golden ~.types-partial-conflicting-sites %source %jibb] src-449 `typ-449))
2664++ test-types-partial-decimal-default
2670++ test-types-partial-decimal-default
2665− (weld (check ~.types-partial-decimal-default src-449 `tok-449 `tre-449) (check-types ~.types-partial-decimal-default ~[%tests %golden ~.types-partial-decimal-default %source %jibb] src-449 `typ-449))
2671+ (weld (check ~.types-partial-decimal-default src-450 `tok-450 `tre-450) (check-types ~.types-partial-decimal-default ~[%tests %golden ~.types-partial-decimal-default %source %jibb] src-450 `typ-450))
2666++ test-types-partial-dependency-chain
2672++ test-types-partial-dependency-chain
2667− (weld (check ~.types-partial-dependency-chain src-450 `tok-450 `tre-450) (check-types ~.types-partial-dependency-chain ~[%tests %golden ~.types-partial-dependency-chain %source %jibb] src-450 `typ-450))
2673+ (weld (check ~.types-partial-dependency-chain src-451 `tok-451 `tre-451) (check-types ~.types-partial-dependency-chain ~[%tests %golden ~.types-partial-dependency-chain %source %jibb] src-451 `typ-451))
2668++ test-types-partial-explicit-capital
2674++ test-types-partial-explicit-capital
2669− (weld (check ~.types-partial-explicit-capital src-451 `tok-451 `tre-451) (check-types ~.types-partial-explicit-capital ~[%tests %golden ~.types-partial-explicit-capital %source %jibb] src-451 `typ-451))
2675+ (weld (check ~.types-partial-explicit-capital src-452 `tok-452 `tre-452) (check-types ~.types-partial-explicit-capital ~[%tests %golden ~.types-partial-explicit-capital %source %jibb] src-452 `typ-452))
2670++ test-types-partial-forward
2676++ test-types-partial-forward
2671− (weld (check ~.types-partial-forward src-452 `tok-452 `tre-452) (check-types ~.types-partial-forward ~[%tests %golden ~.types-partial-forward %source %jibb] src-452 `typ-452))
2677+ (weld (check ~.types-partial-forward src-453 `tok-453 `tre-453) (check-types ~.types-partial-forward ~[%tests %golden ~.types-partial-forward %source %jibb] src-453 `typ-453))
2672++ test-types-partial-generalization
2678++ test-types-partial-generalization
2673− (weld (check ~.types-partial-generalization src-453 `tok-453 `tre-453) (check-types ~.types-partial-generalization ~[%tests %golden ~.types-partial-generalization %source %jibb] src-453 `typ-453))
2679+ (weld (check ~.types-partial-generalization src-454 `tok-454 `tre-454) (check-types ~.types-partial-generalization ~[%tests %golden ~.types-partial-generalization %source %jibb] src-454 `typ-454))
2674++ test-types-partial-identity
2680++ test-types-partial-identity
2675− (weld (check ~.types-partial-identity src-454 `tok-454 `tre-454) (check-types ~.types-partial-identity ~[%tests %golden ~.types-partial-identity %source %jibb] src-454 `typ-454))
2681+ (weld (check ~.types-partial-identity src-455 `tok-455 `tre-455) (check-types ~.types-partial-identity ~[%tests %golden ~.types-partial-identity %source %jibb] src-455 `typ-455))
2676++ test-types-partial-independent-atoms
2682++ test-types-partial-independent-atoms
2677− (weld (check ~.types-partial-independent-atoms src-455 `tok-455 `tre-455) (check-types ~.types-partial-independent-atoms ~[%tests %golden ~.types-partial-independent-atoms %source %jibb] src-455 `typ-455))
2683+ (weld (check ~.types-partial-independent-atoms src-456 `tok-456 `tre-456) (check-types ~.types-partial-independent-atoms ~[%tests %golden ~.types-partial-independent-atoms %source %jibb] src-456 `typ-456))
2678++ test-types-partial-local-molds
2684++ test-types-partial-local-molds
2679− (weld (check ~.types-partial-local-molds src-456 `tok-456 `tre-456) (check-types ~.types-partial-local-molds ~[%tests %golden ~.types-partial-local-molds %source %jibb] src-456 `typ-456))
2685+ (weld (check ~.types-partial-local-molds src-457 `tok-457 `tre-457) (check-types ~.types-partial-local-molds ~[%tests %golden ~.types-partial-local-molds %source %jibb] src-457 `typ-457))
2680++ test-types-partial-locals
2686++ test-types-partial-locals
2681− (weld (check ~.types-partial-locals src-457 `tok-457 `tre-457) (check-types ~.types-partial-locals ~[%tests %golden ~.types-partial-locals %source %jibb] src-457 `typ-457))
2687+ (weld (check ~.types-partial-locals src-458 `tok-458 `tre-458) (check-types ~.types-partial-locals ~[%tests %golden ~.types-partial-locals %source %jibb] src-458 `typ-458))
2682++ test-types-partial-many-atom-constraints
2688++ test-types-partial-many-atom-constraints
2683− (weld (check ~.types-partial-many-atom-constraints src-458 `tok-458 `tre-458) (check-types ~.types-partial-many-atom-constraints ~[%tests %golden ~.types-partial-many-atom-constraints %source %jibb] src-458 `typ-458))
2689+ (weld (check ~.types-partial-many-atom-constraints src-459 `tok-459 `tre-459) (check-types ~.types-partial-many-atom-constraints ~[%tests %golden ~.types-partial-many-atom-constraints %source %jibb] src-459 `typ-459))
2684++ test-types-partial-mold-bare-aura
2690++ test-types-partial-mold-bare-aura
2685− (weld (check ~.types-partial-mold-bare-aura src-459 `tok-459 `tre-459) (check-types ~.types-partial-mold-bare-aura ~[%tests %golden ~.types-partial-mold-bare-aura %source %jibb] src-459 `typ-459))
2691+ (weld (check ~.types-partial-mold-bare-aura src-460 `tok-460 `tre-460) (check-types ~.types-partial-mold-bare-aura ~[%tests %golden ~.types-partial-mold-bare-aura %source %jibb] src-460 `typ-460))
2686++ test-types-partial-mold-composite
2692++ test-types-partial-mold-composite
2687− (weld (check ~.types-partial-mold-composite src-460 `tok-460 `tre-460) (check-types ~.types-partial-mold-composite ~[%tests %golden ~.types-partial-mold-composite %source %jibb] src-460 `typ-460))
2693+ (weld (check ~.types-partial-mold-composite src-461 `tok-461 `tre-461) (check-types ~.types-partial-mold-composite ~[%tests %golden ~.types-partial-mold-composite %source %jibb] src-461 `typ-461))
2688++ test-types-partial-mold-forward
2694++ test-types-partial-mold-forward
2689− (weld (check ~.types-partial-mold-forward src-461 `tok-461 `tre-461) (check-types ~.types-partial-mold-forward ~[%tests %golden ~.types-partial-mold-forward %source %jibb] src-461 `typ-461))
2695+ (weld (check ~.types-partial-mold-forward src-462 `tok-462 `tre-462) (check-types ~.types-partial-mold-forward ~[%tests %golden ~.types-partial-mold-forward %source %jibb] src-462 `typ-462))
2690++ test-types-partial-mold-recursive
2696++ test-types-partial-mold-recursive
2691− (weld (check ~.types-partial-mold-recursive src-462 `tok-462 `tre-462) (check-types ~.types-partial-mold-recursive ~[%tests %golden ~.types-partial-mold-recursive %source %jibb] src-462 `typ-462))
2697+ (weld (check ~.types-partial-mold-recursive src-463 `tok-463 `tre-463) (check-types ~.types-partial-mold-recursive ~[%tests %golden ~.types-partial-mold-recursive %source %jibb] src-463 `typ-463))
2692++ test-types-partial-occurs
2698++ test-types-partial-occurs
2693− (weld (check ~.types-partial-occurs src-463 `tok-463 `tre-463) (check-types ~.types-partial-occurs ~[%tests %golden ~.types-partial-occurs %source %jibb] src-463 `typ-463))
2699+ (weld (check ~.types-partial-occurs src-464 `tok-464 `tre-464) (check-types ~.types-partial-occurs ~[%tests %golden ~.types-partial-occurs %source %jibb] src-464 `typ-464))
2694++ test-types-partial-projection
2700++ test-types-partial-projection
2695− (weld (check ~.types-partial-projection src-464 `tok-464 `tre-464) (check-types ~.types-partial-projection ~[%tests %golden ~.types-partial-projection %source %jibb] src-464 `typ-464))
2701+ (weld (check ~.types-partial-projection src-465 `tok-465 `tre-465) (check-types ~.types-partial-projection ~[%tests %golden ~.types-partial-projection %source %jibb] src-465 `typ-465))
2696++ test-types-partial-shadow-global
2702++ test-types-partial-shadow-global
2697− (weld (check ~.types-partial-shadow-global src-465 `tok-465 `tre-465) (check-types ~.types-partial-shadow-global ~[%tests %golden ~.types-partial-shadow-global %source %jibb] src-465 `typ-465))
2703+ (weld (check ~.types-partial-shadow-global src-466 `tok-466 `tre-466) (check-types ~.types-partial-shadow-global ~[%tests %golden ~.types-partial-shadow-global %source %jibb] src-466 `typ-466))
2698++ test-types-partial-shared-tvar
2704++ test-types-partial-shared-tvar
2699− (weld (check ~.types-partial-shared-tvar src-466 `tok-466 `tre-466) (check-types ~.types-partial-shared-tvar ~[%tests %golden ~.types-partial-shared-tvar %source %jibb] src-466 `typ-466))
2705+ (weld (check ~.types-partial-shared-tvar src-467 `tok-467 `tre-467) (check-types ~.types-partial-shared-tvar ~[%tests %golden ~.types-partial-shared-tvar %source %jibb] src-467 `typ-467))
2700++ test-types-partial-union-cases
2706++ test-types-partial-union-cases
2701− (weld (check ~.types-partial-union-cases src-467 `tok-467 `tre-467) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-467 `typ-467))
2707+ (weld (check ~.types-partial-union-cases src-468 `tok-468 `tre-468) (check-types ~.types-partial-union-cases ~[%tests %golden ~.types-partial-union-cases %source %jibb] src-468 `typ-468))
2702++ test-types-partial-union-edges
2708++ test-types-partial-union-edges
2703− (weld (check ~.types-partial-union-edges src-468 `tok-468 `tre-468) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-468 `typ-468))
2709+ (weld (check ~.types-partial-union-edges src-469 `tok-469 `tre-469) (check-types ~.types-partial-union-edges ~[%tests %golden ~.types-partial-union-edges %source %jibb] src-469 `typ-469))
2704++ test-types-partial-unresolved-tag
2710++ test-types-partial-unresolved-tag
2705− (weld (check ~.types-partial-unresolved-tag src-469 `tok-469 `tre-469) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-469 `typ-469))
2711+ (weld (check ~.types-partial-unresolved-tag src-470 `tok-470 `tre-470) (check-types ~.types-partial-unresolved-tag ~[%tests %golden ~.types-partial-unresolved-tag %source %jibb] src-470 `typ-470))
2706++ test-types-prelude-direct
2712++ test-types-prelude-direct
2707− (weld (check ~.types-prelude-direct src-470 `tok-470 `tre-470) (check-module-types ~.types-prelude-direct ~[%tests %golden ~.types-prelude-direct %source %jibb] src-470 `typ-470 ~ ~ ~))
2713+ (weld (check ~.types-prelude-direct src-471 `tok-471 `tre-471) (check-module-types ~.types-prelude-direct ~[%tests %golden ~.types-prelude-direct %source %jibb] src-471 `typ-471 ~ ~ ~))
2708++ test-types-prelude-interface
2714++ test-types-prelude-interface
2709− (weld (weld (check ~.types-prelude-interface src-471 `tok-471 `tre-471) (check-module-types ~.types-prelude-interface ~[%tests %golden ~.types-prelude-interface %source %jibb] src-471 `typ-471 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-471-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-471-2]])) (check-module-trees ~.types-prelude-interface `mtre-471 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-471-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-471-2]]))
2715+ (weld (weld (check ~.types-prelude-interface src-472 `tok-472 `tre-472) (check-module-types ~.types-prelude-interface ~[%tests %golden ~.types-prelude-interface %source %jibb] src-472 `typ-472 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-472-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-472-2]])) (check-module-trees ~.types-prelude-interface `mtre-472 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-472-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-472-2]]))
2710++ test-types-record-bound-variable
2716++ test-types-record-bound-variable
2711− (weld (check ~.types-record-bound-variable src-472 `tok-472 `tre-472) (check-types ~.types-record-bound-variable ~[%tests %golden ~.types-record-bound-variable %source %jibb] src-472 `typ-472))
2717+ (weld (check ~.types-record-bound-variable src-473 `tok-473 `tre-473) (check-types ~.types-record-bound-variable ~[%tests %golden ~.types-record-bound-variable %source %jibb] src-473 `typ-473))
2712++ test-types-record-faces
2718++ test-types-record-faces
2713− (weld (check ~.types-record-faces src-473 `tok-473 `tre-473) (check-types ~.types-record-faces ~[%tests %golden ~.types-record-faces %source %jibb] src-473 `typ-473))
2719+ (weld (check ~.types-record-faces src-474 `tok-474 `tre-474) (check-types ~.types-record-faces ~[%tests %golden ~.types-record-faces %source %jibb] src-474 `typ-474))
2714++ test-types-record-import
2720++ test-types-record-import
2715− (weld (weld (check ~.types-record-import src-474 `tok-474 `tre-474) (check-module-types ~.types-record-import ~[%tests %golden ~.types-record-import %source %jibb] src-474 `typ-474 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-474-1]])) (check-module-trees ~.types-record-import `mtre-474 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-474-1]]))
2721+ (weld (weld (check ~.types-record-import src-475 `tok-475 `tre-475) (check-module-types ~.types-record-import ~[%tests %golden ~.types-record-import %source %jibb] src-475 `typ-475 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-475-1]])) (check-module-trees ~.types-record-import `mtre-475 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-475-1]]))
2716++ test-types-record-local-scheme
2722++ test-types-record-local-scheme
2717− (weld (check ~.types-record-local-scheme src-475 `tok-475 `tre-475) (check-types ~.types-record-local-scheme ~[%tests %golden ~.types-record-local-scheme %source %jibb] src-475 `typ-475))
2723+ (weld (check ~.types-record-local-scheme src-476 `tok-476 `tre-476) (check-types ~.types-record-local-scheme ~[%tests %golden ~.types-record-local-scheme %source %jibb] src-476 `typ-476))
2718++ test-types-record-nested
2724++ test-types-record-nested
2719− (weld (check ~.types-record-nested src-476 `tok-476 `tre-476) (check-types ~.types-record-nested ~[%tests %golden ~.types-record-nested %source %jibb] src-476 `typ-476))
2725+ (weld (check ~.types-record-nested src-477 `tok-477 `tre-477) (check-types ~.types-record-nested ~[%tests %golden ~.types-record-nested %source %jibb] src-477 `typ-477))
2720++ test-types-record-to-tuple
2726++ test-types-record-to-tuple
2721− (weld (check ~.types-record-to-tuple src-477 `tok-477 `tre-477) (check-types ~.types-record-to-tuple ~[%tests %golden ~.types-record-to-tuple %source %jibb] src-477 `typ-477))
2727+ (weld (check ~.types-record-to-tuple src-478 `tok-478 `tre-478) (check-types ~.types-record-to-tuple ~[%tests %golden ~.types-record-to-tuple %source %jibb] src-478 `typ-478))
2722++ test-types-union-alias
2728++ test-types-union-alias
2723− (weld (check ~.types-union-alias src-478 `tok-478 `tre-478) (check-types ~.types-union-alias ~[%tests %golden ~.types-union-alias %source %jibb] src-478 `typ-478))
2729+ (weld (check ~.types-union-alias src-479 `tok-479 `tre-479) (check-types ~.types-union-alias ~[%tests %golden ~.types-union-alias %source %jibb] src-479 `typ-479))
2724++ test-types-union-branch-context
2730++ test-types-union-branch-context
2725− (weld (check ~.types-union-branch-context src-479 `tok-479 `tre-479) (check-types ~.types-union-branch-context ~[%tests %golden ~.types-union-branch-context %source %jibb] src-479 `typ-479))
2731+ (weld (check ~.types-union-branch-context src-480 `tok-480 `tre-480) (check-types ~.types-union-branch-context ~[%tests %golden ~.types-union-branch-context %source %jibb] src-480 `typ-480))
2726++ test-types-union-branch-pending
2732++ test-types-union-branch-pending
2727− (weld (check ~.types-union-branch-pending src-480 `tok-480 `tre-480) (check-types ~.types-union-branch-pending ~[%tests %golden ~.types-union-branch-pending %source %jibb] src-480 `typ-480))
2733+ (weld (check ~.types-union-branch-pending src-481 `tok-481 `tre-481) (check-types ~.types-union-branch-pending ~[%tests %golden ~.types-union-branch-pending %source %jibb] src-481 `typ-481))
2728++ test-types-union-constructor-shape
2734++ test-types-union-constructor-shape
2729− (weld (check ~.types-union-constructor-shape src-481 `tok-481 `tre-481) (check-types ~.types-union-constructor-shape ~[%tests %golden ~.types-union-constructor-shape %source %jibb] src-481 `typ-481))
2735+ (weld (check ~.types-union-constructor-shape src-482 `tok-482 `tre-482) (check-types ~.types-union-constructor-shape ~[%tests %golden ~.types-union-constructor-shape %source %jibb] src-482 `typ-482))
2730++ test-types-union-context-flow
2736++ test-types-union-context-flow
2731− (weld (check ~.types-union-context-flow src-482 `tok-482 `tre-482) (check-types ~.types-union-context-flow ~[%tests %golden ~.types-union-context-flow %source %jibb] src-482 `typ-482))
2737+ (weld (check ~.types-union-context-flow src-483 `tok-483 `tre-483) (check-types ~.types-union-context-flow ~[%tests %golden ~.types-union-context-flow %source %jibb] src-483 `typ-483))
2732++ test-types-union-import
2738++ test-types-union-import
2733− (weld (weld (check ~.types-union-import src-483 `tok-483 `tre-483) (check-module-types ~.types-union-import ~[%tests %golden ~.types-union-import %source %jibb] src-483 `typ-483 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-483-1]])) (check-module-trees ~.types-union-import `mtre-483 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-483-1]]))
2739+ (weld (weld (check ~.types-union-import src-484 `tok-484 `tre-484) (check-module-types ~.types-union-import ~[%tests %golden ~.types-union-import %source %jibb] src-484 `typ-484 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-484-1]])) (check-module-trees ~.types-union-import `mtre-484 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-484-1]]))
2734++ test-types-union-local-pending
2740++ test-types-union-local-pending
2735− (weld (check ~.types-union-local-pending src-484 `tok-484 `tre-484) (check-types ~.types-union-local-pending ~[%tests %golden ~.types-union-local-pending %source %jibb] src-484 `typ-484))
2741+ (weld (check ~.types-union-local-pending src-485 `tok-485 `tre-485) (check-types ~.types-union-local-pending ~[%tests %golden ~.types-union-local-pending %source %jibb] src-485 `typ-485))
2736++ test-types-union-overlap
2742++ test-types-union-overlap
2737− (weld (check ~.types-union-overlap src-485 `tok-485 `tre-485) (check-types ~.types-union-overlap ~[%tests %golden ~.types-union-overlap %source %jibb] src-485 `typ-485))
2743+ (weld (check ~.types-union-overlap src-486 `tok-486 `tre-486) (check-types ~.types-union-overlap ~[%tests %golden ~.types-union-overlap %source %jibb] src-486 `typ-486))
2738++ test-types-union-overlap-nested
2744++ test-types-union-overlap-nested
2739− (weld (check ~.types-union-overlap-nested src-486 `tok-486 `tre-486) (check-types ~.types-union-overlap-nested ~[%tests %golden ~.types-union-overlap-nested %source %jibb] src-486 `typ-486))
2745+ (weld (check ~.types-union-overlap-nested src-487 `tok-487 `tre-487) (check-types ~.types-union-overlap-nested ~[%tests %golden ~.types-union-overlap-nested %source %jibb] src-487 `typ-487))
2740++ test-types-union-phantom-generic
2746++ test-types-union-phantom-generic
2741− (weld (check ~.types-union-phantom-generic src-487 `tok-487 `tre-487) (check-types ~.types-union-phantom-generic ~[%tests %golden ~.types-union-phantom-generic %source %jibb] src-487 `typ-487))
2747+ (weld (check ~.types-union-phantom-generic src-488 `tok-488 `tre-488) (check-types ~.types-union-phantom-generic ~[%tests %golden ~.types-union-phantom-generic %source %jibb] src-488 `typ-488))
2742++ test-types-union-print-cross-namespace
2748++ test-types-union-print-cross-namespace
2743− (weld (weld (check ~.types-union-print-cross-namespace src-488 `tok-488 `tre-488) (check-module-types ~.types-union-print-cross-namespace ~[%tests %golden ~.types-union-print-cross-namespace %source %jibb] src-488 `typ-488 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-488-1]])) (check-module-trees ~.types-union-print-cross-namespace `mtre-488 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-488-1]]))
2749+ (weld (weld (check ~.types-union-print-cross-namespace src-489 `tok-489 `tre-489) (check-module-types ~.types-union-print-cross-namespace ~[%tests %golden ~.types-union-print-cross-namespace %source %jibb] src-489 `typ-489 ~ ~ ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-489-1]])) (check-module-trees ~.types-union-print-cross-namespace `mtre-489 ~[['/ui/lib.jibb' ~[~.ui ~.lib ~.jibb] mod-489-1]]))
2744++ test-types-union-print-distinct
2750++ test-types-union-print-distinct
2745− (weld (weld (check ~.types-union-print-distinct src-489 `tok-489 `tre-489) (check-module-types ~.types-union-print-distinct ~[%tests %golden ~.types-union-print-distinct %source %jibb] src-489 `typ-489 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-489-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-489-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-489-3]])) (check-module-trees ~.types-union-print-distinct `mtre-489 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-489-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-489-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-489-3]]))
2751+ (weld (weld (check ~.types-union-print-distinct src-490 `tok-490 `tre-490) (check-module-types ~.types-union-print-distinct ~[%tests %golden ~.types-union-print-distinct %source %jibb] src-490 `typ-490 ~ ~ ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-490-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-490-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-490-3]])) (check-module-trees ~.types-union-print-distinct `mtre-490 ~[['/ui/left.jibb' ~[~.ui ~.left ~.jibb] mod-490-1] ['/ui/right.jibb' ~[~.ui ~.right ~.jibb] mod-490-2] ['/ui/twin.jibb' ~[~.ui ~.twin ~.jibb] mod-490-3]]))
2746++ test-types-union-print-escape
2752++ test-types-union-print-escape
2747− (weld (check ~.types-union-print-escape src-490 `tok-490 `tre-490) (check-types ~.types-union-print-escape ~[%tests %golden ~.types-union-print-escape %source %jibb] src-490 `typ-490))
2753+ (weld (check ~.types-union-print-escape src-491 `tok-491 `tre-491) (check-types ~.types-union-print-escape ~[%tests %golden ~.types-union-print-escape %source %jibb] src-491 `typ-491))
2748++ test-types-union-print-local
2754++ test-types-union-print-local
2749− (weld (check ~.types-union-print-local src-491 `tok-491 `tre-491) (check-types ~.types-union-print-local ~[%tests %golden ~.types-union-print-local %source %jibb] src-491 `typ-491))
2755+ (weld (check ~.types-union-print-local src-492 `tok-492 `tre-492) (check-types ~.types-union-print-local ~[%tests %golden ~.types-union-print-local %source %jibb] src-492 `typ-492))
2750++ test-types-union-print-nested
2756++ test-types-union-print-nested
2751− (weld (check ~.types-union-print-nested src-492 `tok-492 `tre-492) (check-types ~.types-union-print-nested ~[%tests %golden ~.types-union-print-nested %source %jibb] src-492 `typ-492))
2757+ (weld (check ~.types-union-print-nested src-493 `tok-493 `tre-493) (check-types ~.types-union-print-nested ~[%tests %golden ~.types-union-print-nested %source %jibb] src-493 `typ-493))
2752++ test-types-union-print-same-origin
2758++ test-types-union-print-same-origin
2753− (weld (weld (check ~.types-union-print-same-origin src-493 `tok-493 `tre-493) (check-module-types ~.types-union-print-same-origin ~[%tests %golden ~.types-union-print-same-origin %source %jibb] src-493 `typ-493 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-493-1]])) (check-module-trees ~.types-union-print-same-origin `mtre-493 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-493-1]]))
2759+ (weld (weld (check ~.types-union-print-same-origin src-494 `tok-494 `tre-494) (check-module-types ~.types-union-print-same-origin ~[%tests %golden ~.types-union-print-same-origin %source %jibb] src-494 `typ-494 ~ ~ ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-494-1]])) (check-module-trees ~.types-union-print-same-origin `mtre-494 ~[['/ui/shared.jibb' ~[~.ui ~.shared ~.jibb] mod-494-1]]))
2754++ test-types-union-print-transitive
2760++ test-types-union-print-transitive
2755− (weld (weld (check ~.types-union-print-transitive src-494 `tok-494 `tre-494) (check-module-types ~.types-union-print-transitive ~[%tests %golden ~.types-union-print-transitive %source %jibb] src-494 `typ-494 ~ ~ ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-494-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-494-2]])) (check-module-trees ~.types-union-print-transitive `mtre-494 ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-494-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-494-2]]))
2761+ (weld (weld (check ~.types-union-print-transitive src-495 `tok-495 `tre-495) (check-module-types ~.types-union-print-transitive ~[%tests %golden ~.types-union-print-transitive %source %jibb] src-495 `typ-495 ~ ~ ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-495-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-495-2]])) (check-module-trees ~.types-union-print-transitive `mtre-495 ~[['/ui/mid.jibb' ~[~.ui ~.mid ~.jibb] mod-495-1] ['/ui/base.jibb' ~[~.ui ~.base ~.jibb] mod-495-2]]))
2756++ test-types-union-singleton
2762++ test-types-union-singleton
2757− (weld (check ~.types-union-singleton src-495 `tok-495 `tre-495) (check-types ~.types-union-singleton ~[%tests %golden ~.types-union-singleton %source %jibb] src-495 `typ-495))
2763+ (weld (check ~.types-union-singleton src-496 `tok-496 `tre-496) (check-types ~.types-union-singleton ~[%tests %golden ~.types-union-singleton %source %jibb] src-496 `typ-496))
2758++ test-types-union-tag-atoms
2764++ test-types-union-tag-atoms
2759− (weld (check ~.types-union-tag-atoms src-496 `tok-496 `tre-496) (check-types ~.types-union-tag-atoms ~[%tests %golden ~.types-union-tag-atoms %source %jibb] src-496 `typ-496))
2765+ (weld (check ~.types-union-tag-atoms src-497 `tok-497 `tre-497) (check-types ~.types-union-tag-atoms ~[%tests %golden ~.types-union-tag-atoms %source %jibb] src-497 `typ-497))
2760++ test-types-union-tags
2766++ test-types-union-tags
2761− (weld (check ~.types-union-tags src-497 `tok-497 `tre-497) (check-types ~.types-union-tags ~[%tests %golden ~.types-union-tags %source %jibb] src-497 `typ-497))
2767+ (weld (check ~.types-union-tags src-498 `tok-498 `tre-498) (check-types ~.types-union-tags ~[%tests %golden ~.types-union-tags %source %jibb] src-498 `typ-498))
2762++ test-types-union-unresolved
2768++ test-types-union-unresolved
2763− (weld (check ~.types-union-unresolved src-498 `tok-498 `tre-498) (check-types ~.types-union-unresolved ~[%tests %golden ~.types-union-unresolved %source %jibb] src-498 `typ-498))
2769+ (weld (check ~.types-union-unresolved src-499 `tok-499 `tre-499) (check-types ~.types-union-unresolved ~[%tests %golden ~.types-union-unresolved %source %jibb] src-499 `typ-499))
2764++ test-types-union-unresolved-flow
2770++ test-types-union-unresolved-flow
2765− (weld (check ~.types-union-unresolved-flow src-499 `tok-499 `tre-499) (check-types ~.types-union-unresolved-flow ~[%tests %golden ~.types-union-unresolved-flow %source %jibb] src-499 `typ-499))
2771+ (weld (check ~.types-union-unresolved-flow src-500 `tok-500 `tre-500) (check-types ~.types-union-unresolved-flow ~[%tests %golden ~.types-union-unresolved-flow %source %jibb] src-500 `typ-500))
2766++ test-types-unit-context
2772++ test-types-unit-context
2767− (weld (check ~.types-unit-context src-500 `tok-500 `tre-500) (check-types ~.types-unit-context ~[%tests %golden ~.types-unit-context %source %jibb] src-500 `typ-500))
2773+ (weld (check ~.types-unit-context src-501 `tok-501 `tre-501) (check-types ~.types-unit-context ~[%tests %golden ~.types-unit-context %source %jibb] src-501 `typ-501))
2768++ test-types-unit-patterns
2774++ test-types-unit-patterns
2769− (weld (check ~.types-unit-patterns src-501 `tok-501 `tre-501) (check-types ~.types-unit-patterns ~[%tests %golden ~.types-unit-patterns %source %jibb] src-501 `typ-501))
2775+ (weld (check ~.types-unit-patterns src-502 `tok-502 `tre-502) (check-types ~.types-unit-patterns ~[%tests %golden ~.types-unit-patterns %source %jibb] src-502 `typ-502))
2770::
2776::
2771:: +check: run golden:jibb on a case and compare both outputs
2777:: +check: run golden:jibb on a case and compare both outputs
2772::
2778::
tests/type-module-scope/about.txt+1−1
@@ -10,4 +10,4 @@ The real vendored prelude and the existing two-module prelude golden check
10that source-wrapper and prepared-interface outputs agree with each other and
10that source-wrapper and prepared-interface outputs agree with each other and
11with the golden report under eval and on the ship.
11with the golden report under eval and on the ship.
12An imported list stays representable with an omitted or altered prelude
12An imported list stays representable with an omitted or altered prelude
13−list, but its list literals and list patterns fail closed; a malformed prelude is rejected.
13+list, but its list literals, cons, null and list patterns fail closed; a malformed prelude is rejected.
tests/type-module-scope/expected.txt+4
@@ -18,12 +18,16 @@ duplicate module sources: /ui/dup/jibb
18real prelude prepared/wrapper and golden match
18real prelude prepared/wrapper and golden match
19partial inference; module not checked
19partial inference; module not checked
20++ imported: $-((list @t) (list @t))
20++ imported: $-((list @t) (list @t))
21+++ imported-cons: list literal needs the standard prelude in partial inference
22+++ imported-empty: list literal needs the standard prelude in partial inference
21++ imported-pattern: list pattern needs the standard prelude in partial inference
23++ imported-pattern: list pattern needs the standard prelude in partial inference
22++ imported-literal: list literal needs the standard prelude in partial inference
24++ imported-literal: list literal needs the standard prelude in partial inference
23++ literal: cast mold is not supported by partial inference
25++ literal: cast mold is not supported by partial inference
24++ bridge: cast mold is not supported by partial inference
26++ bridge: cast mold is not supported by partial inference
25partial inference; module not checked
27partial inference; module not checked
26++ imported: $-((list @t) (list @t))
28++ imported: $-((list @t) (list @t))
29+++ imported-cons: list literal needs the standard prelude in partial inference
30+++ imported-empty: list literal needs the standard prelude in partial inference
27++ imported-pattern: list pattern needs the standard prelude in partial inference
31++ imported-pattern: list pattern needs the standard prelude in partial inference
28++ imported-literal: list literal needs the standard prelude in partial inference
32++ imported-literal: list literal needs the standard prelude in partial inference
29++ literal: cast mold is not supported by partial inference
33++ literal: cast mold is not supported by partial inference