Repository navigation
fix: Hot reload now says to run uloop compile when an added member uses a name generated at compile time - #3193
Merged
hatayama merged 2 commits intoOct 6, 2026
Conversation
…compile A name that is generated at compile time, for example by a source generator, exists only in the compiled assembly, so the hot-reload compilation can never bind it. The current reason only tells the user to pass a new file and to compile as a last resort, which leaves them retrying --files for a name no file declares.
The hot-reload compilation sees only source files, so a name generated at compile time, for example by a source generator, never binds there and passing more files cannot help. The reason now says so and names 'uloop compile' as the step for that case, while keeping the new-file hint and the compile fallback.
Contributor
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (2)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
hatayama
merged commit Oct 6, 2026
7c0e77d
into
feature/hot-reload-large-project-feedback
4 of 5 checks passed
hatayama
deleted the
fix/hot-reload-added-member-unbound-generated-hint
branch
October 6, 2026 15:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
uloop compileis the step to take.User Impact
--filesif the name is declared in a new file, and runuloop compile"only if it still does not bind". A generated name has no file to pass, so the first step could not help, and the step that does help read as a last resort.uloop compile. The new-file hint and the compile fallback stay.Changes
The
AddedMethodBodyUnboundreason ({0}is the binding error). Only the text afterautomatically)changes, and it still takes one argument.Old:
New:
Unchanged on purpose:
AddedMethodBodyBindsCompiledSignatureandAddedMethodCallsIntroducedMemberBoundToCompiledType. They report a type this reload builds from source while compiled code still names the compiled copy, not a name the reload cannot see, and the Editor appends a next step for the run to them.Pass <files> to this reload as well so both bind to the same type; run 'uloop compile' only if it still does not bind., ends with the same words as the old text but is a separate sentence, used only for those two reasons. Rows with the reason changed here get no next step appended (Resolve_RowsOutsideTheCarriedInFamily_AreReturnedUnchangedpins this), so the new sentence is not followed by another compile hint.Does.StartWithinHotReloadOrchestratorTests, the"could not be fully bound"constant inHotReloadIntroducedTypeRetainedInternalReferrerE2ETests, and the cases for the two other reasons inHotReloadWorkerReasonTextTests.Verification
HotReloadWorkerReasonTextTestswas changed first. Against the old template,Render_AddedMethodBodyUnboundfailed withExpected string length 473 but was 349. Strings differ at index 296.(right afterautomatically)); the other 143 tests in the class passed.uloop compile: 0 errors, 0 warnings.uloop run-tests --filter-type regex --filter-value 'HotReloadWorkerReasonTextTests|HotReloadOrchestratorTests|HotReloadSkippedNextStepResolverTests': 345 of 345 passed (144 + 184 + 17).scripts/check-code-complexity.sh(C# CA1502 and Go cyclop, max 15) andscripts/check-file-length.sh(max 500 SLOC): no findings.This pull request targets the integration branch, so CI runs only the Complexity Report, File Length Report, and Dead Code Gate jobs.