fix(resolve): skip assertion judgment when NonModule is dummy #113168
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 #85992
Why #85992 panic
During
resolve_imports, thepath_resof the importissue_85992_extern_2::Outcomeis pointing toexternal::issue_85992_extern_2instead ofcrate::issue_85992_extern_2. As a resultimport.imported_module.sethad been executed.Attached 1: the state of
early_resolve_ident_in_lexical_scopeduring theresolve_importsforuse issue_85992_extern_2::Outcomeis as follows:visit_scopesscoperesult.bindingCrateRootExternPreludeissue_85992_extern_2(external)However, during finalization for
issue_85992_extern_2::Outcome, theinnermost_resultwas pointed tocrate::issue_85992_extern_2and no ambiguity was generated, leading to a panic.Attached 2: the state of
early_resolve_ident_in_lexical_scopeduring thefinalize_importforuse issue_85992_extern_2::Outcomeis as follows:visit_scopesscoperesult.bindinginnermost_resultNoneCrateRootuse crate::issue_85992_extern_2(introdcued by dummy)resultbut with aSomewapperExternPreludeissue_85992_extern_2(external)Try to solve
Skip assertion judgment when
NonModuleis dummyr? @petrochenkov