Skip to content

Test/Transparent Compiler: test that TC reuses check results after project modifications - #20444

Open
DedSec256 wants to merge 1 commit into
dotnet:mainfrom
DedSec256:ber.a/tests
Open

Test/Transparent Compiler: test that TC reuses check results after project modifications#20444
DedSec256 wants to merge 1 commit into
dotnet:mainfrom
DedSec256:ber.a/tests

Conversation

@DedSec256

Copy link
Copy Markdown
Contributor

Description

Adds tests for #16823 that pin down how the Transparent Compiler reuses cached type-check results when the structure of a project changes: a file is added or moved.

One behaviour worth flagging

Adding a file at the end of the project checks everything when the assembly name is implicit is marked with a //TODO:

  1. With no --out: in the options, TcConfigBuilder.DecideNames derives the assembly name from the last implementation file.
  2. Appending a file therefore changes the assembly name.
  3. That misses the BootstrapInfoStatic cache, which is keyed on BaseCacheKeyWith("BootstrapInfoStatic", assemblyName).
  4. The miss produces a fresh BootstrapInfo.Id, which is mixed into every TcIntermediate key via WithExtraVersion.
  5. So the entire project is re-checked.

The paired --out: test isolates this: pin the assembly name and the same edit costs one file.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

✅ No release notes required

@github-actions github-actions Bot added the AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files label Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

1 participant