Skip to content

Apply lazy key and value casts when reading with get - #67

Open
ShahadatTest wants to merge 1 commit into
wolph:developfrom
ShahadatTest:fix/lazy-casted-get
Open

ShahadatTest wants to merge 1 commit into
wolph:developfrom
ShahadatTest:fix/lazy-casted-get

Conversation

@ShahadatTest

Copy link
Copy Markdown

LazyCastedDict(int, int, {'1': '2'}).get('1') currently returns None, while the same indexed read returns 2. Reading with the stored integer key instead returns the raw string '2'. Inherited dict.get() bypasses both lazy casts.

Implement get() with the same key/value conversions as indexed reads. Missing defaults remain unchanged, stored values remain raw and each read casts them again. Conversion errors propagate, including KeyError from a value caster; key casting runs once. Add the standard get overloads, regression tests and a class doctest.

Two new regression methods fail before the fix. Full Python 3.10 and 3.12 suites: 373 passed, 5 optional timezone-data skips, 100% branch/statement coverage. Whole-project mypy, basedpyright and Pyrefly report no errors. Ruff lint and formatting of changed files, plus git diff --check, pass. No matching open issue or PR found.

AI assistance: OpenAI Codex (GPT-6). Original user request: new 14ta koro aro (make 14 more new contributions). Diff inspection was automated; no human review or personal production usage is claimed.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant