Conversation
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.
Replacing a
BoxListelement with a dictionary currently stores a plaindict, so attribute access stops working:Route ordinary item assignment, dotted list-index assignment, and slice assignment through the existing
_convert()helper. This gives replacements the same recursive conversion and option propagation asappend()andinsert(). Slice assignments still accept iterators, andbox_intact_typesremains honored.The regression tests cover positive/negative indices, dotted indices with default-list extension, dictionaries, nested lists, and both ordinary and extended slices. Compatibility tests cover intact types, invalid extended-slice lengths, and frozen lists. Includes the changelog and contributor updates requested by
CONTRIBUTING.rst.Validation on Ubuntu 24.04 (WSL), CPython 3.12.3:
python setup.py build_ext --inplace: passed; full suite with the compiledbox_listextension loaded: 172 passed..black.toml: passed for both changed Python files.git diff --check: passed.This change and its tests were prepared and validated with OpenAI Codex assistance.