fixes #22475; improve undeclared identifier errors with import chain - #25991
Open
nimamasl114514 wants to merge 3 commits into
Open
fixes #22475; improve undeclared identifier errors with import chain#25991nimamasl114514 wants to merge 3 commits into
nimamasl114514 wants to merge 3 commits into
Conversation
…t chain When an undeclared identifier error occurs in an imported module, show the import chain to help users understand where the error originated. Example: 'imported from main.nim which imports std/oids at endians.nim(line, col)'.
When a forbids pragma violation occurs, the error message now shows the call chain to help identify where the forbidden effect originated. Example: 'Error: c() has an illegal effect: NestedPoll call chain: from test.nim(12, 2) from test.nim(9, 13)'.
…to avoid breaking renderTree
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.
Fixes #22475
When an undeclared identifier error occurs in an imported module, the error message now shows the import chain to help users understand where the error originated.
Before:
lib/pure/endians.nim(131, 57) Error: undeclared identifier: 'copyMem'After:
lib/pure/endians.nim(131, 57) Error: undeclared identifier: 'copyMem' imported from test.nim which imports oids.nim at endians.nim(131, 56)This helps users identify that the error comes from std/oids -> endians.nim chain when using JS backend.