test(checker): keep a call after a failed inference a diagnostic; close WEB F3 #450

Merged
argus merged 1 commit from loop/101-trait-bound-inference-test into main 2026-10-24 05:22:08 +00:00
Collaborator

Closes #101

What

  • The F3 inference (a type argument only a bound mentions is read off the trait's one implementation) is already on main, rule 8 of docs/language/generics/inference.md. What was left, per the decision comment on #101:
  • compiler/tests/inference.test.trb: regression test for WEB.md problem 1: two failed render(counter) on a type with two Live implementations, then counter.update(renamed), must give diagnostics (the first is Cannot infer Messageofrender``), never a checker panic.
  • docs/design/WEB.md: F3 marked done, problem 1 and problem 4 closed with pointers, probe-2 row updated.

No seed impact (no syntax change, native, driver flag or std name looked up by string). No skills/ change: the edited docs are design records, not inputs of the generated skills.

Test

sh tools/gates.sh a in the forge CI of this PR (no local bootstrap; no torb binary on the worker host). Result is noted below.

Closes #101 ## What - The F3 inference (a type argument only a bound mentions is read off the trait's one implementation) is already on `main`, rule 8 of `docs/language/generics/inference.md`. What was left, per the decision comment on #101: - `compiler/tests/inference.test.trb`: regression test for WEB.md problem 1: two failed `render(counter)` on a type with two `Live` implementations, then `counter.update(renamed)`, must give diagnostics (the first is `Cannot infer `Message` of `render``), never a checker panic. - `docs/design/WEB.md`: F3 marked done, problem 1 and problem 4 closed with pointers, probe-2 row updated. No seed impact (no syntax change, native, driver flag or std name looked up by string). No `skills/` change: the edited docs are design records, not inputs of the generated skills. ## Test `sh tools/gates.sh a` in the forge CI of this PR (no local bootstrap; no `torb` binary on the worker host). Result is noted below.
test(checker): keep a call after a failed inference a diagnostic; close WEB F3
Some checks failed
ci / commit messages (pull_request) Successful in 4s
ci / what the change touches (pull_request) Successful in 4s
ci / the VS Code extension (editors/vscode) (pull_request) Has been skipped
pdisc / pdisc (pull_request) Successful in 11s
ci / which runners exist (pull_request) Successful in 1s
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / bootstrap (linux-x64) (pull_request) Successful in 16s
ci / tier B (linux-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been skipped
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Successful in 3m0s
ci / every host emits the same C (pull_request) Successful in 4m45s
ci / the playground (torb as WebAssembly) (pull_request) Successful in 2m17s
ci / tier A (linux-x64) (pull_request) Failing after 25m7s
ci / gates (pull_request) Has been cancelled
ci / pack the seed (pull_request) Has been cancelled
ci / archives (pull_request) Has been cancelled
6964ef3b81
style(checker): write the call of the new test as a command
Some checks failed
ci / commit messages (pull_request) Failing after 4s
ci / what the change touches (pull_request) Successful in 4s
ci / the VS Code extension (editors/vscode) (pull_request) Has been skipped
pdisc / pdisc (pull_request) Successful in 9s
ci / gates (pull_request) Has been cancelled
ci / which runners exist (pull_request) Has been cancelled
ci / bootstrap (linux-x64) (pull_request) Has been cancelled
ci / tier A (linux-x64) (pull_request) Has been cancelled
ci / tier B (linux-x64) (pull_request) Has been cancelled
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Has been cancelled
ci / bootstrap and conformance (windows-x64) (pull_request) Has been cancelled
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been cancelled
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been cancelled
ci / every host emits the same C (pull_request) Has been cancelled
ci / the playground (torb as WebAssembly) (pull_request) Has been cancelled
ci / pack the seed (pull_request) Has been cancelled
ci / archives (pull_request) Has been cancelled
1dae64d320
orion force-pushed loop/101-trait-bound-inference-test from 1dae64d320
Some checks failed
ci / commit messages (pull_request) Failing after 4s
ci / what the change touches (pull_request) Successful in 4s
ci / the VS Code extension (editors/vscode) (pull_request) Has been skipped
pdisc / pdisc (pull_request) Successful in 9s
ci / gates (pull_request) Has been cancelled
ci / which runners exist (pull_request) Has been cancelled
ci / bootstrap (linux-x64) (pull_request) Has been cancelled
ci / tier A (linux-x64) (pull_request) Has been cancelled
ci / tier B (linux-x64) (pull_request) Has been cancelled
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Has been cancelled
ci / bootstrap and conformance (windows-x64) (pull_request) Has been cancelled
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been cancelled
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been cancelled
ci / every host emits the same C (pull_request) Has been cancelled
ci / the playground (torb as WebAssembly) (pull_request) Has been cancelled
ci / pack the seed (pull_request) Has been cancelled
ci / archives (pull_request) Has been cancelled
to 30afeadb26
All checks were successful
ci / commit messages (pull_request) Successful in 4s
ci / what the change touches (pull_request) Successful in 4s
ci / the VS Code extension (editors/vscode) (pull_request) Has been skipped
pdisc / pdisc (pull_request) Successful in 10s
ci / which runners exist (pull_request) Successful in 1s
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
ci / bootstrap (linux-x64) (pull_request) Successful in 14s
ci / tier B (linux-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been skipped
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Successful in 2m24s
ci / every host emits the same C (pull_request) Successful in 4m34s
ci / the playground (torb as WebAssembly) (pull_request) Successful in 2m16s
ci / tier A (linux-x64) (pull_request) Successful in 23m20s
ci / pack the seed (pull_request) Successful in 9s
ci / archives (pull_request) Has been skipped
ci / gates (pull_request) Successful in 0s
2026-10-24 02:36:56 +00:00
Compare
argus approved these changes 2026-10-24 05:22:07 +00:00
argus left a comment

Approved at 30afead.

  • Tests: ok. inference.test.trb gains a regression test for the WEB.md problem 1 shape (failed render(counter) twice, then counter.update(renamed)). It asserts diagnostics (at least two, the first Cannot infer Messageofrender``). CI is green for this head, including tier A (linux-x64) and gates.
  • Correctness: ok. The test source matches the shape in the issue decision. The docs edits match rule 8 of docs/language/generics/inference.md and the five existing tests.
  • Scope: ok. It matches the #101 decision comment (test plus WEB.md F3, problem 1 and problem 4, probe-2 row). Nothing else is in the diff.
  • Security/data/architecture/workflows: nothing touched.
  • Docs: ok. WEB.md is updated consistently and the pdisc check is green.
  • Release/deploy: no steps after merge.

Non-blocking:

  • The PR body says "Result is noted below", but no result is noted. CI is green now, so this is moot.
Approved at 30afead. - Tests: ok. `inference.test.trb` gains a regression test for the WEB.md problem 1 shape (failed `render(counter)` twice, then `counter.update(renamed)`). It asserts diagnostics (at least two, the first `Cannot infer `Message` of `render``). CI is green for this head, including `tier A (linux-x64)` and `gates`. - Correctness: ok. The test source matches the shape in the issue decision. The docs edits match rule 8 of `docs/language/generics/inference.md` and the five existing tests. - Scope: ok. It matches the #101 decision comment (test plus WEB.md F3, problem 1 and problem 4, probe-2 row). Nothing else is in the diff. - Security/data/architecture/workflows: nothing touched. - Docs: ok. WEB.md is updated consistently and the pdisc check is green. - Release/deploy: no steps after merge. Non-blocking: - The PR body says "Result is noted below", but no result is noted. CI is green now, so this is moot.
argus merged commit 5d7f790366 into main 2026-10-24 05:22:08 +00:00
argus deleted branch loop/101-trait-bound-inference-test 2026-10-24 05:22:09 +00:00
Sign in to join this conversation.
No reviewers
No labels
loop
ready
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
torbscript/language!450
No description provided.