Checker crate skeleton: salsa db, SourceFile input, whole-file parser #46

Merged
jacksonopp merged 4 commits from 1/checker-crate-skeleton into main 2026-08-21 15:38:51 +00:00
Owner

Stands up the twill-check crate's incremental architecture skeleton, per #1.

  • Real salsa dependency, Db trait + TwillDatabase, SourceFile input (closes #44)
  • twill-parser gets a whole-file module_parser, snapshot-tested, so a real source file can be parsed end to end (closes #45)
  • salsa added as the real (not hand-rolled) incremental-computation dependency (closes #42)
  • parse/lower tracked fns wired to actually lex+parse SourceFile.text through the new module_parser, proving the pipeline end to end (return types stay () placeholders -- see below)
  • Symbol interning (#[salsa::interned] struct Symbol) started, but the lowering pass/owned tree itself (#43) is not finished by this PR -- parse/lower still return ()

Closes #42, #44, #45. #43 and the umbrella ticket #1 stay open, tracked separately.

Test plan

  • cargo test --workspace passes (255 tests)
  • cargo insta review -- module_empty/module_multiple_statements snapshots accepted
Stands up the twill-check crate's incremental architecture skeleton, per #1. - Real salsa dependency, `Db` trait + `TwillDatabase`, `SourceFile` input (closes #44) - twill-parser gets a whole-file `module_parser`, snapshot-tested, so a real source file can be parsed end to end (closes #45) - `salsa` added as the real (not hand-rolled) incremental-computation dependency (closes #42) - `parse`/`lower` tracked fns wired to actually lex+parse `SourceFile.text` through the new `module_parser`, proving the pipeline end to end (return types stay `()` placeholders -- see below) - Symbol interning (`#[salsa::interned] struct Symbol`) started, but the lowering pass/owned tree itself (#43) is not finished by this PR -- `parse`/`lower` still return `()` Closes #42, #44, #45. #43 and the umbrella ticket #1 stay open, tracked separately. ## Test plan - [x] `cargo test --workspace` passes (255 tests) - [x] `cargo insta review` -- module_empty/module_multiple_statements snapshots accepted
jacksonopp deleted branch 1/checker-crate-skeleton 2026-08-21 15:38:51 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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
jacksonopp/twill!46
No description provided.