BaseSegment.pos_marker
is typed as non optional but sometimes set to None
#2741
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.
Brief summary of the change made
Fixes #2738
Are there any other side effects of this change that we should be aware of?
Not really. I had to add casts or
assert
statements to various places in the code. These are making some assumptions explicit which were previously implicit. They don't add bugs, because the code would've previously crashed if these assumptions were invalid. In the long run, it may turn out some of these were bugs, and we'll need to fix them. But for now, we are adding type hints and making things more explicit, which improves maintainability. Overall, that's a good thing, and it helps new contributors not run into type weirdness as the author of #2737 did today.Pull Request checklist
Please confirm you have completed any of the necessary steps below.
Included test cases to demonstrate any code changes, which may be one or more of the following:
.yml
rule test cases intest/fixtures/rules/std_rule_cases
..sql
/.yml
parser test cases intest/fixtures/dialects
(note YML files can be auto generated withtox -e generate-fixture-yml
).test/fixtures/linter/autofix
.Added appropriate documentation for the change.
Created GitHub issues for any relevant followup/future enhancements if appropriate.