Skip to content

Commit e13d62f

Browse files
authored
Merge pull request #52 from wolph/fix/unique-list-membership
Keep UniqueList, the casted dicts and SliceableDeque consistent
2 parents e4408da + 2e1386c commit e13d62f

3 files changed

Lines changed: 1695 additions & 41 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
# Changelog
22

3+
## Unreleased
4+
5+
- Keep `UniqueList` membership in sync when replacing an indexed item, and
6+
leave membership unchanged when the index is out of range, contributed by
7+
@shkyyy18 in PR #51.
8+
- Keep `UniqueList` membership in sync for slice assignment, `extend`, `pop`,
9+
`remove`, `clear`, `+=` and `*=`, so `extend` and `+=` no longer add
10+
duplicates and removed values can be added again.
11+
- Accept one-shot iterables in `UniqueList` slice assignment, allow a slice to
12+
reuse the values it replaces, and reject a slice that repeats a value.
13+
- Make `copy.copy` and `copy.deepcopy` of a `UniqueList` return a working copy
14+
with its own membership.
15+
- Leave `UniqueList` membership unchanged when `insert` fails, and answer `in`
16+
for an unhashable value the way a `list` does.
17+
- Make `CastedDict` and `LazyCastedDict` load from `pickle` on every protocol,
18+
including pickles written by 4.0.1, and stop `copy.copy` and `copy.deepcopy`
19+
from casting the stored values a second time.
20+
- Cast what `setdefault` and `|=` store in a `CastedDict` or `LazyCastedDict`.
21+
A `None` default is stored as it is.
22+
- Cast the key of a `LazyCastedDict` once when it is stored. It was cast twice.
23+
- Let keyword arguments win over the mapping in `update` and the constructor
24+
of the casted dicts, as `dict` does.
25+
- Make `!=` the opposite of `==` for `SliceableDeque`, and compare unequal to a
26+
set when an item is unhashable.
27+
- Remove the iterable of mappings from the `DictUpdateArgs` type alias. The
28+
code never accepted that shape.
29+
330
## 4.0.1 - 2026-08-30
431

532
- Allow `uv_build` 0.12.x, contributed by @felixonmars in PR #49.

0 commit comments

Comments
 (0)