Skip to content

Comments

Raise syntax error when \ is at end of file#17409

Merged
dhruvmanila merged 2 commits intomainfrom
dhruv/parser-line-continuation-at-eof
Apr 15, 2025
Merged

Raise syntax error when \ is at end of file#17409
dhruvmanila merged 2 commits intomainfrom
dhruv/parser-line-continuation-at-eof

Conversation

@dhruvmanila
Copy link
Member

@dhruvmanila dhruvmanila commented Apr 15, 2025

Summary

This PR fixes a bug in the lexer specifically around line continuation character at end of file.

The reason this was occurring is because the lexer wouldn't check for EOL after consuming the escaped newline but only if the EOL was right after the line continuation character.

fixes: #17398

Test Plan

Add tests for the scenarios where this should occur mainly (a) when the state is AfterNewline and (b) when the state is Other.

@dhruvmanila dhruvmanila added bug Something isn't working parser Related to the parser labels Apr 15, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Apr 15, 2025

ruff-ecosystem results

Linter (stable)

✅ ecosystem check detected no linter changes.

Linter (preview)

✅ ecosystem check detected no linter changes.

Formatter (stable)

✅ ecosystem check detected no format changes.

Formatter (preview)

✅ ecosystem check detected no format changes.

@dhruvmanila dhruvmanila marked this pull request as ready for review April 15, 2025 15:23
@dhruvmanila dhruvmanila requested a review from ntBre April 15, 2025 15:23
Copy link
Contributor

@ntBre ntBre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Thanks for doing this.

@dhruvmanila dhruvmanila merged commit bfc17fe into main Apr 15, 2025
22 checks passed
@dhruvmanila dhruvmanila deleted the dhruv/parser-line-continuation-at-eof branch April 15, 2025 15:56
sharkdp pushed a commit that referenced this pull request Apr 16, 2025
## Summary

This PR fixes a bug in the lexer specifically around line continuation
character at end of file.

The reason this was occurring is because the lexer wouldn't check for
EOL _after_ consuming the escaped newline but only if the EOL was right
after the line continuation character.

fixes: #17398 

## Test Plan

Add tests for the scenarios where this should occur mainly (a) when the
state is `AfterNewline` and (b) when the state is `Other`.
dcreager added a commit that referenced this pull request Apr 16, 2025
* main: (44 commits)
  [`airflow`] Extend `AIR311` rules (#17422)
  [red-knot] simplify union size limit handling (#17429)
  [`airflow`] Extract `AIR311` from `AIR301` rules (`AIR301`, `AIR311`) (#17310)
  [red-knot] set a size limit on unions of literals (#17419)
  [red-knot] make large-union benchmark slow again (#17418)
  [red-knot] optimize building large unions of literals (#17403)
  [red-knot] Fix comments in type_api.md (#17425)
  [red-knot] Do not assume that `x != 0` if `x` inhabits `~Literal[0]` (#17370)
  [red-knot] make large-union benchmark more challenging (#17416)
  [red-knot] Acknowledge that `T & anything` is assignable to `T` (#17413)
  Update Rust crate clap to v4.5.36 (#17381)
  Raise syntax error when `\` is at end of file (#17409)
  [red-knot] Add regression tests for narrowing constraints cycles (#17408)
  [red-knot] Add some knowledge of `__all__` to `*`-import machinery (#17373)
  Update taiki-e/install-action digest to be7c31b (#17379)
  Update Rust crate mimalloc to v0.1.46 (#17382)
  Update PyO3/maturin-action action to v1.49.1 (#17384)
  Update Rust crate anyhow to v1.0.98 (#17380)
  dependencies: switch from `chrono` to `jiff`
  Update Rust crate bstr to v1.12.0 (#17385)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working parser Related to the parser

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Parser fails to raise an error for line continuation at EOF

2 participants