FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Comparing main@{1day}...main · RustPython/RustPython · GitHub

Repository navigation

Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: RustPython/RustPython
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main@{1day}
Choose a base ref
Could not load branches
Nothing to show
{{ refName }}
...
head repository: RustPython/RustPython
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Could not load branches
Nothing to show
{{ refName }}
  • 13 commits
  • 36 files changed
  • 7 contributors

Commits on Oct 6, 2026

  1. build(deps): bump thin-vec from 0.2.19 to 0.2.20 (#8980)

    Bumps [thin-vec](https://github.com/mozilla/thin-vec) from 0.2.19 to 0.2.20.
    - [Changelog](https://github.com/mozilla/thin-vec/blob/main/RELEASES.md)
    - [Commits](mozilla/thin-vec@v0.2.19...v0.2.20)
    
    ---
    updated-dependencies:
    - dependency-name: thin-vec
      dependency-version: 0.2.20
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 6, 2026
    Configuration menu
    Copy the full SHA
    64dafe0 View commit details
    Browse the repository at this point in the history
  2. build(deps): bump which from 8.0.5 to 8.0.6 (#8978)

    Bumps [which](https://github.com/harryfei/which-rs) from 8.0.5 to 8.0.6.
    - [Release notes](https://github.com/harryfei/which-rs/releases)
    - [Changelog](https://github.com/harryfei/which-rs/blob/master/CHANGELOG.md)
    - [Commits](harryfei/which-rs@8.0.5...8.0.6)
    
    ---
    updated-dependencies:
    - dependency-name: which
      dependency-version: 8.0.6
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 6, 2026
    Configuration menu
    Copy the full SHA
    3b881b6 View commit details
    Browse the repository at this point in the history
  3. build(deps): bump taiki-e/install-action from 2.87.17 to 2.87.21 (#8976)

    * build(deps): bump taiki-e/install-action from 2.87.17 to 2.87.21
    
    Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.87.17 to 2.87.21.
    - [Release notes](https://github.com/taiki-e/install-action/releases)
    - [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
    - [Commits](taiki-e/install-action@94c31af...4cef141)
    
    ---
    updated-dependencies:
    - dependency-name: taiki-e/install-action
      dependency-version: 2.87.21
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    * Ignore spurious warning from shellcheck
    
    We do not put the `EXTRA_TEST_ARGS` and `SKIPS` variables in quotes by design.
    
    ---------
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: fanninpm <27117322+fanninpm@users.noreply.github.com>
    dependabot[bot] and fanninpm authored Oct 6, 2026
    Configuration menu
    Copy the full SHA
    f14f8bc View commit details
    Browse the repository at this point in the history
  4. build(deps): bump bitflags from 2.13.1 to 2.13.2 (#8979)

    Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.13.1 to 2.13.2.
    - [Release notes](https://github.com/bitflags/bitflags/releases)
    - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
    - [Commits](bitflags/bitflags@2.13.1...2.13.2)
    
    ---
    updated-dependencies:
    - dependency-name: bitflags
      dependency-version: 2.13.2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 6, 2026
    Configuration menu
    Copy the full SHA
    f2f8f95 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2026

  1. build(deps-dev): bump proxy-addr from 2.0.7 to 2.0.8 in /wasm/demo (#…

    …8984)
    
    Bumps [proxy-addr](https://github.com/jshttp/proxy-addr) from 2.0.7 to 2.0.8.
    - [Release notes](https://github.com/jshttp/proxy-addr/releases)
    - [Changelog](https://github.com/jshttp/proxy-addr/blob/master/HISTORY.md)
    - [Commits](jshttp/proxy-addr@v2.0.7...v2.0.8)
    
    ---
    updated-dependencies:
    - dependency-name: proxy-addr
      dependency-version: 2.0.8
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 7, 2026
    Configuration menu
    Copy the full SHA
    bb1c288 View commit details
    Browse the repository at this point in the history
  2. build(deps): bump rustls from 0.23.43 to 0.23.45 (#8985)

    Bumps [rustls](https://github.com/rustls/rustls) from 0.23.43 to 0.23.45.
    - [Release notes](https://github.com/rustls/rustls/releases)
    - [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
    - [Commits](rustls/rustls@v/0.23.43...v/0.23.45)
    
    ---
    updated-dependencies:
    - dependency-name: rustls
      dependency-version: 0.23.45
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 7, 2026
    Configuration menu
    Copy the full SHA
    1fbb58b View commit details
    Browse the repository at this point in the history
  3. build(deps-dev): bump source-map-js from 1.2.1 to 1.2.2 in /wasm/demo (…

    …#8987)
    
    Bumps [source-map-js](https://github.com/7rulnik/source-map-js) from 1.2.1 to 1.2.2.
    - [Release notes](https://github.com/7rulnik/source-map-js/releases)
    - [Changelog](https://github.com/7rulnik/source-map-js/blob/main/CHANGELOG.md)
    - [Commits](7rulnik/source-map-js@v1.2.1...v1.2.2)
    
    ---
    updated-dependencies:
    - dependency-name: source-map-js
      dependency-version: 1.2.2
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 7, 2026
    Configuration menu
    Copy the full SHA
    abdf255 View commit details
    Browse the repository at this point in the history
  4. build(deps-dev): bump shell-quote from 1.10.0 to 1.12.0 in /wasm/demo (…

    …#8988)
    
    Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.10.0 to 1.12.0.
    - [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)
    - [Commits](ljharb/shell-quote@v1.10.0...v1.12.0)
    
    ---
    updated-dependencies:
    - dependency-name: shell-quote
      dependency-version: 1.12.0
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 7, 2026
    Configuration menu
    Copy the full SHA
    03c5720 View commit details
    Browse the repository at this point in the history
  5. build(deps-dev): bump postcss-selector-parser in /wasm/demo (#8989)

    Bumps [postcss-selector-parser](https://github.com/postcss/postcss-selector-parser) from 7.1.5 to 7.1.6.
    - [Release notes](https://github.com/postcss/postcss-selector-parser/releases)
    - [Changelog](https://github.com/postcss/postcss-selector-parser/blob/main/CHANGELOG.md)
    - [Commits](postcss/postcss-selector-parser@7.1.5...7.1.6)
    
    ---
    updated-dependencies:
    - dependency-name: postcss-selector-parser
      dependency-version: 7.1.6
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 7, 2026
    Configuration menu
    Copy the full SHA
    34a7d5c View commit details
    Browse the repository at this point in the history
  6. build(deps): bump rustix from 1.1.4 to 1.1.5 (#8990)

    Bumps [rustix](https://github.com/bytecodealliance/rustix) from 1.1.4 to 1.1.5.
    - [Release notes](https://github.com/bytecodealliance/rustix/releases)
    - [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGES.md)
    - [Commits](bytecodealliance/rustix@v1.1.4...v1.1.5)
    
    ---
    updated-dependencies:
    - dependency-name: rustix
      dependency-version: 1.1.5
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 7, 2026
    Configuration menu
    Copy the full SHA
    4b6ad58 View commit details
    Browse the repository at this point in the history
  7. Take SyntaxError messages and ranges from the parser (#8983)

    * Match CPython's SyntaxError range for unparenthesized `except` types
    
    CPython's `invalid_except_stmt` rule raises the error only once the whole
    clause has matched, and reports a range that starts at the first exception
    type and ends at the `:` closing the clause, so it covers the `as NAME`
    part as well:
    
        invalid_except_stmt:
            | 'except' a=expression ',' expressions 'as' NAME  ':' {
                RAISE_SYNTAX_ERROR_STARTING_FROM(a, "multiple exception types
                must be parenthesized when using 'as'") }
    
    The parser reports the exception types alone, so look up that `:` in the
    source and widen the range to match. Only `as NAME` may follow the
    exception types, which is why the first `:` after them is the one closing
    the clause.
    
        try:
            pass
        except A, B, C as e:
            pass
    
        CPython 3.14:  ('x.py', 3, 8, 'except A, B, C as e:\n', 3, 20)
        before:        ('x.py', 3, 8, 'except A, B, C as e:\n', 3, 15)
    
    Fixes #8496
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    
    * Clarify that the `except` error range stops before the closing colon
    
    `invalid_except_stmt_end` returns the exclusive end of the range, so the
    column it yields is the one the `:` sits on even though the `:` is not part
    of the range. The previous "ending at the `:`" wording read as if the colon
    were included, which invites an off-by-one "fix".
    
    Comments only; no behavior change.
    
    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    
    * Fix the `except ... as` error column for non-ASCII names and line joins
    
    `invalid_except_stmt_end` recovers the end of CPython's range by scanning the
    source, which has to redo by hand what CPython gets from its tokenizer:
    
    - The column was the byte distance from the line start, but `end_offset` is a
      character column. `except Ä, B as e:` reported 18 instead of 17. CPython
      converts explicitly, in `_PyPegen_byte_offset_to_character_offset`.
    - The colon scan already spans explicit line joins, but the `as` check ran on
      the raw slice, so a `\` before `as` left the range unextended.
      `except A, B \` + `as exc:` reported (3, 12) instead of (4, 7).
    
    Add regression cases to `syntax_invalid.py` covering both, plus the whitespace,
    `except*` and line-join placements that already worked. All values are verified
    against CPython 3.14.
    
    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    
    * Update the Ruff fork to 0.16.10
    
    Point the rustpython-ruff_* dependencies at the 0.16.10-rustpython tag
    of the RustPython Ruff fork and port to its AST changes:
    `ExprCompare` stores all operands in `operands`, call arguments use
    `ThinVec`, dict comprehension generators and f-string elements are boxed
    slices, `FStringValue` iterates `FStringPartRef`, and `TokenKind::Name`
    is now `TokenKind::Identifier`.
    
    Assisted-by: Grok:grok-4.6
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Drop the source scan for the `except ... as` error range
    
    The parser now reports the unparenthesized exception types error with a
    range ending at the `:` that closes the clause, so
    `invalid_except_stmt_end` and the message match that widened the range
    are removed.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take parse error messages from the parser as they are
    
    The Ruff fork now emits the final message texts, so `vm_new.rs` no
    longer rewrites parse error messages by matching their text and no
    longer lowercases the first character of every message.
    `analyze_compile_error` keeps only the caret narrowing for starred
    expressions and the line number in the unterminated string message.
    The compiler matches the new lowercase texts for indented block and
    mixed bytes literal errors.
    
    The fork is referenced by revision until it is published.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take starred and bytes literal error ranges from the parser
    
    The Ruff fork now reports misplaced starred expressions at the `*` and
    non-ASCII bytes literal errors over the whole literal. `vm_new.rs` drops
    `narrow_caret` together with `SyntaxErrorInfo`, which only carried the
    message after that, and the compiler drops `bytes_literal_span`.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take indentation error kinds and positions from the parser
    
    The Ruff fork now reports `TabError` and `TooDeepIndentation` as their
    own lexer errors and places indentation and line continuation errors
    itself. `vm_new.rs` picks TabError or IndentationError from the error
    kind instead of scanning the source for mixed indentation, drops the
    TabError message override, and sets the end offset of tokenizer errors
    to 0 or -1 by kind. The compiler drops the line-end relocation of
    unindent errors and the line continuation rewrite. `_tokenize` raises
    TabError and depth errors for the token they replace, also for sources
    containing tabs.
    
    Remove expectedFailure from test_tokenize.test_max_indent and four
    test_tabnanny tests.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take unterminated string messages from the parser
    
    The Ruff fork's unterminated string errors now include the detected
    line and are reported at the start of the string. `vm_new.rs` drops its
    message override for `UnclosedStringError`, and the shell continues a
    line on an unterminated triple-quoted string by the error's
    `triple_quoted` flag instead of reading the quotes from the source.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take bracket errors and tokenizer error priority from the parser
    
    Bump the ruff fork, which now reports unmatched, mismatched, unclosed
    and too deeply nested brackets and decides whether a tokenizer error
    replaces the parser's first error.
    
    Remove the bracket, unterminated string and nesting depth source
    scanners and `pre_parse_source_error`. A tokenizer error from the
    parser now wins over source scanner diagnostics found after it. An
    unclosed bracket is incomplete input only when the parser reports it
    as such, and other tokenizer errors end where they start.
    
    Remove the expected failure markers from test_unicode_identifiers
    test_invalid and the `import ä £` doctest in test_syntax.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take number literal, string prefix and non-printable errors from the parser
    
    Bump the ruff fork, which now reports malformed number literals,
    incompatible string prefixes and non-printable characters itself.
    
    Remove the number literal, string prefix and non-printable character
    source scanners and the override classes that ranked them. Leading zero
    and string prefix errors keep their range instead of ending where they
    start.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take the missing indented block error from the parser
    
    Bump the ruff fork, which now reports `ExpectedIndentedBlock` with the
    clause and the line of its header keyword.
    
    Remove the message rewrite that derived the clause and line from the
    source. The VM chooses IndentationError or incomplete input by the
    error variant instead of its message.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take binding target errors from the parser
    
    Bump the ruff fork, which now names the invalid expression in
    assignment, augmented assignment, delete, `for`, `with`, import,
    pattern and `except` target errors.
    
    Remove the source scanners for those targets and the message rewrites
    of `InvalidAssignmentTarget` and `InvalidNamedAssignmentTarget`.
    Remove the expected failure markers from test_syntax doctests that now
    pass.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take parameter, argument, star, comma and dictionary errors from the parser
    
    Bump the ruff fork to 36919b62fa. Remove the source scanners for type
    parameters, parameter lists, star annotations, call arguments, def type
    parameters, parenthesized groups, missing commas and dictionary items.
    Set end_offset 0 for ExpectedColonAfterDictionaryKey. Remove 14
    EXPECTED_FAILURE markers in test_syntax and test_unpack_ex.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take expression errors from the parser
    
    Bump the ruff fork to 4f922d2124. Remove the source scanners for
    comprehensions, collection and condition assignments, expressions
    between strings, named expression targets, missing `in` after for-loop
    variables and statements in `if` expressions. Remove the now passing
    expected failure markers in test_syntax and test_named_expressions.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take statement errors from the parser
    
    Bump the ruff fork to c7f6594ed6. Remove the source scanners for
    standalone except, `import ... from`, `**_` mapping rests, `elif` after
    `else` and mixed except handlers, and the post-parse scanners for call
    arguments, match targets, yield after a comma and parenthesized star
    imports.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Take string and f-string errors from the parser
    
    Bump the ruff fork to 6b46d0dfc8. Remove the source scanners for
    malformed `\N` escapes, f-string and t-string replacement fields, mixed
    t-string literals and `print`/`exec` statements, and the override
    plumbing they used. Drop the `f'{x'; '` case from the compiler test,
    whose expected message differs from CPython 3.14.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Restore the bracket depth check and fix incomplete unclosed strings
    
    Restore `pre_parse_source_error`, which rejects bracket nesting past 200
    levels before parsing. The parser reports the same error but still
    builds the full tree, which overflows the native stack when dropped.
    
    Remove the VM's unclosed string scanner, which ignored the mode and
    treated `'abc` in exec mode as incomplete input. The compiler's check
    now skips escaped newlines.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Report multiple statements before later errors in single mode
    
    In single mode, when the first statement is a simple statement, report
    code after its line as multiple statements before any error found
    later, at the newline token or the comment before it. This replaces the
    multiple statements check on the parsed body and also applies to
    `ast.parse(mode='single')`.
    
    An unclosed string that follows an earlier syntax error is no longer
    incomplete input. The bracket depth error range is now empty.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Update the Ruff fork for parser speed and starred annotations
    
    Bump the ruff fork to 8b59b85344, which skips the tokenizer error pass
    when parsing finds no errors, stops allocating for every identifier's
    string prefix check, and reports `def f(*args: *b = ...)` as invalid
    syntax.
    
    Remove expected failure markers from test_code_module
    test_indentation_error and test_sysexcepthook_indentation_error, and
    from test_dictcomps test_illegal_assignment.
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    * Use the published Ruff fork 0.16.10 crates
    
    Switch the rustpython-ruff_* dependencies from the git revision to the
    0.16.10 crates.io release, published from the same commit (8b59b85344).
    
    Assisted-by: Claude Code:claude-opus-5-5
    
    ---------
    
    Co-authored-by: zzarbttoo <qodbwls70@naver.com>
    Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
    3 people authored Oct 7, 2026
    Configuration menu
    Copy the full SHA
    a403341 View commit details
    Browse the repository at this point in the history
  8. fix: signal.SIGINT and signal() raise NotImplementedError on wasi (#8986

    )
    
    * fix: signal.SIGINT and signal() raise NotImplementedError on wasi
    
    - Problem: signal.SIGINT and friends don't exist on wasi, and signal.signal()
      is hard-stubbed to raise NotImplementedError there
    - Cause: wasi-libc emulates signal()/raise() in a separate opt-in library
      that Rust's own wasm32-wasip1 target distribution doesn't ship
    - Fix: vendor wasi-sdk's prebuilt libwasi-emulated-signal.a, link it for
      wasm32-wasip1, and wire SIGINT/SIGABRT/SIGFPE/SIGILL/SIGSEGV/SIGTERM,
      signal()/getsignal()/raise_signal() through it. CPython's own WASI build
      links the same library
    
    Assisted-by: Claude Code:claude-sonnet-5
    Signed-off-by: Jiwoo Ahn <ikwydls1314@gmail.com>
    
    * Group WASI signal definitions in mod wasm
    
    Move WASI-only types, constants, FFI, and handlers into
    `mod wasm` and re-export them with `#[cfg(target_os = "wasi")]`.
    
    Assisted-by: Grok 4.6
    
    ---------
    
    Signed-off-by: Jiwoo Ahn <ikwydls1314@gmail.com>
    Co-authored-by: Jeong YunWon <jeong@youknowone.org>
    jiwahn and youknowone authored Oct 7, 2026
    Configuration menu
    Copy the full SHA
    ef5c651 View commit details
    Browse the repository at this point in the history
  9. build(deps): bump cc from 1.2.66 to 1.5.1 (#8994)

    Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.66 to 1.5.1.
    - [Release notes](https://github.com/rust-lang/cc-rs/releases)
    - [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
    - [Commits](rust-lang/cc-rs@cc-v1.2.66...cc-v1.5.1)
    
    ---
    updated-dependencies:
    - dependency-name: cc
      dependency-version: 1.5.1
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 7, 2026
    Configuration menu
    Copy the full SHA
    0e67b82 View commit details
    Browse the repository at this point in the history
Loading

Back | FazBrowse Home | New Git URL