Fix the crash when reporting errors of file that was referenced by inferred project root, is opened right after closing the root file #23636
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.
Fixes the crash reported in #23255 (comment)
Consider the structure through import as:
project root - app
- test -> utilities
When
app
is opened followed bytest
. The inferred project with project roots asapp
andtest
and the project will containingutilities
as well.After this operation closing
test
and openingutilities
will mark inferred project as dirty but wont update it. That means, without updating inferred project we would indirectly thinkutilities
is part of inferred project so no action is needed. And during next update graph is whenutilities
will be open but not part of any project resulting in exceptions for any semantic/syntactic operations onutilities
.With this fix, all projects of info are updated if dirty to ensure correct inferred project assignment or creation