[red-knot] Display definition range in trace logs#14955
Merged
dhruvmanila merged 2 commits intomainfrom Dec 13, 2024
Merged
Conversation
Contributor
|
AlexWaygood
approved these changes
Dec 13, 2024
Member
AlexWaygood
left a comment
There was a problem hiding this comment.
Nice, this is a big improvement! Even better would be the line number/column number, but we could consider that separately
crates/red_knot_python_semantic/src/semantic_index/definition.rs
Outdated
Show resolved
Hide resolved
Member
Getting the line and column number is too expensive because it a) requires building the line index and b) a binary search to get the line number. |
dcreager
added a commit
that referenced
this pull request
Dec 13, 2024
* main: [red-knot] Display definition range in trace logs (#14955) [red-knot] Move the `ClassBase` enum to its own submodule (#14957) [red-knot] mdtest: python version requirements (#14954) [airflow]: Import modules that has been moved to airflow providers (AIR303) (#14764) [red-knot] Support `typing.TYPE_CHECKING` (#14952) Add tracing support to mdtest (#14935) Re-enable the fuzzer job on PRs (#14953) [red-knot] Improve `match` mdtests (#14951) Rename `custom-typeshed-dir`, `target-version` and `current-directory` CLI options (#14930) [red-knot] Add narrowing for 'while' loops (#14947) [`ruff`] Skip SQLModel base classes for `mutable-class-default` (`RUF012`) (#14949) [red-knot] Tests for 'while' loop boundness (#14944)
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.
I've mainly opened this PR to get some opinions. I've found having some additional information in the tracing logs to be useful to determine what we are currently inferring. For the
Definitioningredient, the range seems to be much useful. I thought of using the identifier name but we would have to deconstruct theExprto find out the identifier which seems a lot for just trace logs. Additionally, multiple identifiers could have the same name where range would be useful.The ranges are isolated to the names that have been defined by the definition except for the
exceptblock where the entire range is being used because the name is optional.Before:
After: